2023-05-15 15:25:28 -07:00

154 lines
6.9 KiB
HTML

{{ define "hero" }}
{{ partial "hero" (dict "title" "GitHub Actions with Pulumi") }}
{{ end }}
{{ define "main" }}
<section id="overview" class="my-32">
<div class="container mx-auto lg:flex">
<div class="lg:w-1/2">
<h2>Any repo. Any cloud.</h2>
<p>
Pulumi and GitHub Actions combine to provide the easiest, most capable, and friction-free way to achieve continuous delivery of cloud applications and
infrastructure.
</p>
<div class="mt-12">
<a class="btn-primary mr-4" href="{{ relref . "/docs/using-pulumi/continuous-delivery/github-actions" }}"> Get Started </a>
<a class="btn-secondary" href="{{ relref . "/blog/continuous-delivery-to-any-cloud-using-github-actions-and-pulumi" }}"> Read the Blog </a>
</div>
</div>
<div class="lg:w-1/2">
<iframe
class="rounded shadow-md max-w-full"
width="560"
height="315"
src="https://www.youtube.com/embed/59SxB2uY9E0?rel=0&amp;showinfo=0"
frameborder="0"
allow="autoplay; encrypted-media"
allowfullscreen
></iframe>
</div>
</div>
</section>
<section id="continuous-delivery" class="py-16 px-4">
<div class="container mx-auto max-w-4xl">
<div class="mx-auto text-center max-w-4xl mb-8">
<div>
<h2 class="mb-4">Continuous Delivery</h2>
<p class="leading-loose">
In this end-to-end example, see how we use Pulumi and GitHub actions to continuously deploy a Ruby on Rails application, packaged with Docker, to a
Kubernetes cluster.
</p>
</div>
<div>
<a class="inline-block btn-secondary" href="{{ relref . "/docs/using-pulumi/continuous-delivery/github-actions" }}"> Get Started </a>
</div>
</div>
<div class="mb-12">
<iframe
class="mx-auto rounded shadow-md max-w-full"
width="840"
height="441"
src="https://www.youtube.com/embed/1Et2TkuxqJg?rel=0&amp;showinfo=0"
frameborder="0"
allow="autoplay; encrypted-media"
allowfullscreen
></iframe>
</div>
<div class="md:flex md:max-w-4xl text-sm">
<div class="w-full lg:w-1/3 p-2 lg:p-8 flex flex-col">
{{ partial "color-icon.html" (dict "icon" "abstract-shapes" "icon_color" "violet") }}
<div class="mt-8">
<h5>Build Apps</h5>
</div>
<div class="flex items-end flex-grow">
<p>Pulumi uses an existing Dockerfile to build and package the Ruby on Rails app.</p>
</div>
</div>
<div class="w-full lg:w-1/3 p-2 lg:p-8 flex flex-col">
{{ partial "color-icon.html" (dict "icon" "rocketship" "icon_color" "yellow") }}
<div class="mt-8">
<h5>Deploy Infrastructure</h5>
</div>
<div class="flex items-end flex-grow">
<p>Pulumi provisions a Kubernetes cluster and a hosted PostgreSQL database.</p>
</div>
</div>
<div class="w-full lg:w-1/3 p-2 lg:p-8 flex flex-col">
{{ partial "color-icon.html" (dict "icon" "exchange" "icon_color" "salmon") }}
<div class="mt-8">
<h5>Deploy on Commit</h5>
</div>
<div class="flex items-end flex-grow">
<p>On a commit, Pulumi can provide a preview, and then automatically deploy the complete environment.</p>
</div>
</div>
</div>
</div>
</section>
<section id="gitops" class="py-16 px-4">
<div class="container mx-auto max-w-4xl">
<div class="mx-auto text-center mb-8">
<div class="md:pr-8">
<h2 class="mb-4">GitOps with Pulumi</h2>
<p class="leading-loose">
Commit a code change, and see how Pulumi and GitHub Actions can then deploy your apps and infrastructure to any cloud or cloud-native environment.
</p>
</div>
<div>
<a class="inline-block btn-secondary" href="{{ relref . "/docs/using-pulumi/continuous-delivery/github-actions" }}"> Get Started </a>
</div>
</div>
<div class="mb-12">
<iframe
class="mx-auto rounded shadow-md max-w-full"
width="840"
height="441"
src="https://www.youtube.com/embed/MKbDVDBuKUA?rel=0&amp;showinfo=0"
frameborder="0"
allow="autoplay; encrypted-media"
allowfullscreen
></iframe>
</div>
<div class="md:flex md:max-w-4xl text-sm">
<div class="w-full lg:w-1/3 p-2 lg:p-8 flex flex-col">
{{ partial "color-icon.html" (dict "icon" "code" "icon_color" "violet") }}
<div class="mt-8">
<h5>Commit Code</h5>
</div>
<div class="flex items-end flex-grow">
<p>Pulumi code sits alongside application code and a change to either triggers a stack deployment.</p>
</div>
</div>
<div class="w-full lg:w-1/3 p-2 lg:p-8 flex flex-col">
{{ partial "color-icon.html" (dict "icon" "clipboard" "icon_color" "yellow") }}
<div class="mt-8">
<h5>Preview Changes</h5>
</div>
<div class="flex items-end flex-grow">
<p>Pulumi provides a preview of changes that will be made as part of a Pull Request.</p>
</div>
</div>
<div class="w-full lg:w-1/3 p-2 lg:p-8 flex flex-col">
{{ partial "color-icon.html" (dict "icon" "cycle" "icon_color" "salmon") }}
<div class="mt-8">
<h5>Merge Pull Request</h5>
</div>
<div class="flex items-end flex-grow">
<p>After a merge, GitHub Actions and Pulumi will deploy the application and infrastructure stack.</p>
</div>
</div>
</div>
</div>
</section>
{{ end }}