<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Codelabs on Spinnaker</title>
		<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/</link>
		<description>Recent content in Codelabs on Spinnaker</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<atom:link href="https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>App Engine: Source to Prod</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/appengine-source-to-prod/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/appengine-source-to-prod/</guid>
				<description>&lt;h1 id=&#34;this-tutorial-is-deprecated-and-no-longer-supported-but-left-for-reference--halyard-is-no-longer-supported-or-maintained&#34;&gt;This tutorial is deprecated and no longer supported, but left for reference.  Halyard is no longer supported or maintained&lt;/h1&gt;&#xA;&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;This codelab provides an overview of Spinnaker&amp;rsquo;s integration with App Engine.&#xA;You&amp;rsquo;ll build and run a simple App Engine deployment pipeline with the following steps:&lt;/p&gt;&#xA;&lt;img style=&#34;width: 60%;&#34; src=&#34;images/codelab_diagram.png&#34; alt=&#34;Codelab diagram&#34;/&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Be sure you have your Google Cloud Platform project&amp;rsquo;s ID. This value will be referenced as &lt;code&gt;GCP-PROJECT-ID&lt;/code&gt; below.&lt;/li&gt;&#xA;&lt;li&gt;Be sure you have &lt;code&gt;gcloud&lt;/code&gt; installed, and that it is authenticated with your GCP project. In most cases, this should only require running &lt;code&gt;gcloud auth login &amp;lt;your@email.com&amp;gt;&lt;/code&gt;&#xA;and following the instructions in the prompt. If you don&amp;rsquo;t have &lt;code&gt;gcloud&lt;/code&gt; installed locally, you can always run &lt;code&gt;gcloud&lt;/code&gt; from inside Cloud Shell, which you can open from your GCP console.&lt;/li&gt;&#xA;&lt;li&gt;Be sure you have the App Engine Admin and Compute Engine APIs enabled for your GCP project:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gcloud services &lt;span style=&#34;color:#204a87&#34;&gt;enable&lt;/span&gt; appengine.googleapis.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;gcloud services &lt;span style=&#34;color:#204a87&#34;&gt;enable&lt;/span&gt; compute.googleapis.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;If this is your first time deploying to App Engine in your project, execute the following command to create an App Engine application. You cannot change the region, so choose wisely:&#xA;&lt;code&gt;gcloud app create --region &amp;lt;e.g., us-central&amp;gt;&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;configuration--installation&#34;&gt;Configuration &amp;amp; installation&lt;/h2&gt;&#xA;&lt;p&gt;We&amp;rsquo;re going to trigger our Spinnaker pipelines using Github webhooks. In order to do so,&#xA;we will have to expose Spinnaker&amp;rsquo;s API gateway to external traffic.&#xA;If you are going to use this installation beyond this codelab, you should follow the &#xA;&lt;a href=&#34;https://deploy-preview-637--spinnaker-io.netlify.app/docs/setup/other_config/security/&#34;&gt;guides&lt;/a&gt;&#xA; for securing Spinnaker.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Azure VM Scale Sets: Source to Prod</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/azure-vmss-source-to-prod/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/azure-vmss-source-to-prod/</guid>
				<description>&lt;p&gt;In this codelab, you will create a source-to-prod continuous delivery pipeline for a simple java based application targeting VM Scale Sets in Azure.&lt;/p&gt;&#xA;&lt;p&gt;After completing this lab the following workflow will happen:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A developer pushes a commit to Github&lt;/li&gt;&#xA;&lt;li&gt;Jenkins automatically builds a Debian package and pushes it to an Aptly repository&lt;/li&gt;&#xA;&lt;li&gt;Spinnaker bakes the new package into an image&lt;/li&gt;&#xA;&lt;li&gt;Spinnaker deploys to a test environment and disables the previous deployment&lt;/li&gt;&#xA;&lt;li&gt;Spinnaker waits for a manual judgement of the test environment&lt;/li&gt;&#xA;&lt;li&gt;Spinnaker deploys the image to the production environment and disables the previous deployment.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;This codelab will walk through the following steps to implement this scenario:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Bake and Deploy Pipeline</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/bake-and-deploy-pipeline/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/bake-and-deploy-pipeline/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;VM only&lt;/strong&gt;: This codelab requires you have a VM (for example, on AWS or GCP)&#xA;on which to run it.&lt;/p&gt;&#xA;&lt;p&gt;For Kubernetes, try &#xA;&lt;a href=&#34;https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/kubernetes-source-to-prod/&#34;&gt;Kubernetes&#xA;Source-to-Prod&lt;/a&gt;&#xA;,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;To walk you through some of the basics with Spinnaker, you&amp;rsquo;re going to set up a Spinnaker pipeline that bakes a virtual machine (VM) image containing redis, then deploys that image to a test cluster.&lt;/p&gt;&#xA;&lt;p&gt;Note here that the us-east-1a availability zone is currently full, so it will need to be deselected in the corresponding &amp;lsquo;region&amp;rsquo; checkbox list for each of these steps.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Continuous Delivery to Kubernetes on Oracle</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/oracle-kubernetes-source-to-prod/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/oracle-kubernetes-source-to-prod/</guid>
				<description>&lt;p&gt;In this codelab you will configure a Spinnaker pipeline to deploy an application from Kubernetes manifest files targeting Kubernetes on Oracle Cloud Infrastructure Container Engine (OKE).&lt;/p&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;p&gt;Before we begin, we need to do the following:&lt;/p&gt;&#xA;&lt;h3 id=&#34;configure-kubernetes&#34;&gt;Configure Kubernetes&lt;/h3&gt;&#xA;&lt;p&gt;If you don&amp;rsquo;t already have a cluster for this purpose, you can follow &#xA;&lt;a href=&#34;https://www.oracle.com/webfolder/technetwork/tutorials/obe/oci/oke-full/index.html&#34; target=&#34;_blank&#34;&gt;this tutorial&lt;/a&gt;&#xA; until a Kubernetes cluster on OKE is created.&lt;/p&gt;&#xA;&lt;h3 id=&#34;create-a-compute-instance&#34;&gt;Create a compute instance&lt;/h3&gt;&#xA;&lt;p&gt;Create a compute instance on Oracle Cloud Infrastructure (OCI) to host Spinnaker by following &#xA;&lt;a href=&#34;https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/launchinginstance.htm&#34; target=&#34;_blank&#34;&gt;these instructions&lt;/a&gt;&#xA;.  Spinnaker supports Ubuntu 18.04 or higher.&lt;/p&gt;</description>
			</item>
			<item>
				<title>DC/OS: Source to Prod</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/dcos-source-to-prod/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/dcos-source-to-prod/</guid>
				<description>&lt;h2 id=&#34;0-setup&#34;&gt;0. Setup&lt;/h2&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Github repository with the source code to deploy&lt;/li&gt;&#xA;&lt;li&gt;Enterprise DC/OS cluster (1.8 or greater)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Marathon-lb is should be installed and running&lt;/li&gt;&#xA;&lt;li&gt;For the examples in this codelab we&amp;rsquo;ll say that it&amp;rsquo;s at &lt;code&gt;https://dcos.example.com&lt;/code&gt; so you should replace that with the URL to your cluster&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Jenkins instance&#xA;&lt;ul&gt;&#xA;&lt;li&gt;This can be installed on your DC/OS cluster as a &#xA;&lt;a href=&#34;https://docs.mesosphere.com/service-docs/jenkins/&#34; target=&#34;_blank&#34;&gt;Mesosphere Universe package&lt;/a&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;configure-spinnaker&#34;&gt;Configure Spinnaker&lt;/h2&gt;&#xA;&lt;h4 id=&#34;clouddriver-localyml&#34;&gt;clouddriver-local.yml&lt;/h4&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;dcos&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;enabled&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;clusters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;codelab-cluster&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;dcosUrl&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;https://dcos.example.com&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;insecureSkipTlsVerify&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;accounts&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;codelab-dcos-account&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;dockerRegistries&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;        &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;accountName&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;my-docker-registry&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;      &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;clusters&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;        &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;codelab-cluster&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;          &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;uid&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;${DCOS_USER}&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;          &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;password&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;${DCOS_PASSWORD}&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;dockerRegistry&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;enabled&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;true&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;accounts&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;  &lt;/span&gt;- &lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;my-docker-registry&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;address&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;https://index.docker.io&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;repositories&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;    &lt;/span&gt;- &lt;span style=&#34;color:#000&#34;&gt;lwander/spin-kub-demo&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;username&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;${DOCKER_USER}&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;    &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;password&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;${DOCKER_PASSWORD}&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;enable-docker&#34;&gt;Enable Docker&lt;/h4&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;https://deploy-preview-637--spinnaker-io.netlify.app/docs/setup/install/providers/docker-registry/&#34;&gt;Configure a docker registry&lt;/a&gt;&#xA;&lt;/p&gt;</description>
			</item>
			<item>
				<title>Deploy Artifacts from Artifactory to CF</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/artifactory-to-cf/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/artifactory-to-cf/</guid>
				<description>&lt;p&gt;In this codelab, you will deploy an artifact to Cloud Foundry via a Spinnaker pipeline. The pipeline is triggered by an artifact published to a JFrog Artifactory Maven repository or by an app manifest stored in a GitHub repository.&lt;/p&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;p&gt;This codelab assumes you have the following:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Artifact support &#xA;&lt;a href=&#34;https://deploy-preview-637--spinnaker-io.netlify.app/docs/reference/artifacts/#enabling-artifact-support&#34;&gt;enabled&lt;/a&gt;&#xA;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;/li&gt;&#xA;&lt;li&gt;An Artifactory repository configured to accept a Maven artifact—the JAR for your application&lt;/li&gt;&#xA;&lt;li&gt;A GitHub repository containing a manifest with which to deploy your application&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1-add-artifactory-search-to-spinnaker&#34;&gt;1. Add Artifactory Search to Spinnaker&lt;/h2&gt;&#xA;&lt;p&gt;a. Enable the Artifactory repository:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Deploy GCS Pub/Sub Artifacts to Google App Engine</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/pubsub-to-appengine/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/pubsub-to-appengine/</guid>
				<description>&lt;p&gt;The goal of this codelab is to trigger a Spinnaker pipeline with a Pub/Sub message from GCS upon upload of a tarball.&lt;/p&gt;&#xA;&lt;p&gt;In this codelab, you will deploy artifacts to Google App Engine (GAE) via a Spinnaker pipeline.&#xA;The pipeline is configured to trigger on Pub/Sub messages from a GCS bucket serving as an artifact repository.&#xA;The Pub/Sub messages contain context that allows Spinnaker to parse and deploy the stored artifacts.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Deploy GCS Pub/Sub Artifacts to Cloud Foundry</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/pubsub-to-cf/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/pubsub-to-cf/</guid>
				<description>&lt;p&gt;In this codelab, you will deploy an artifact to Cloud Foundry via a Spinnaker pipeline that is triggered by JAR uploads to a Google Cloud Storage (GCS) bucket.&lt;/p&gt;&#xA;&lt;h2 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h2&gt;&#xA;&lt;p&gt;This codelab assumes you have the following:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A billing-enabled Google Cloud Platform (GCP) project.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;code&gt;gcloud&lt;/code&gt; CLI tool (installed locally on your computer).&lt;/li&gt;&#xA;&lt;li&gt;Artifact support &#xA;&lt;a href=&#34;https://deploy-preview-637--spinnaker-io.netlify.app/docs/reference/artifacts/#enabling-artifact-support&#34;&gt;enabled&lt;/a&gt;&#xA;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;1-create-a-gcs-bucket-for-artifact-storage&#34;&gt;1. Create a GCS Bucket for Artifact Storage&lt;/h2&gt;&#xA;&lt;p&gt;a. Log in with &lt;code&gt;gcloud&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ gcloud auth login&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;b. Run the &lt;code&gt;gsutil mb&lt;/code&gt; command to create a bucket within your GCP project, giving your project’s ID (&lt;code&gt;PROJECT_ID&lt;/code&gt; below) and the name of the bucket to create (&lt;code&gt;BUCKET&lt;/code&gt;):&lt;/p&gt;</description>
			</item>
			<item>
				<title>GCE Source To Prod</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/gce-source-to-prod/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/gce-source-to-prod/</guid>
				<description>&lt;p&gt;In this codelab, you create a cohesive workflow which takes source code and builds, tests and promotes it to production. You can also watch a video of this codelab in this &#xA;&lt;a href=&#34;https://www.youtube.com/watch?v=N9VnJlKn734&amp;amp;list=PL4yLrwUObNkttE526AAj_ykc5UlIPjz8m&amp;amp;index=1&#34; target=&#34;_blank&#34;&gt;Youtube playlist&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;This will be accomplished via 3 pipelines:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bake &amp;amp; Deploy to Test&lt;/li&gt;&#xA;&lt;li&gt;Validate Test&lt;/li&gt;&#xA;&lt;li&gt;Promote to Prod&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;You will be using a custom-built image that includes sample application source code, a Jenkins instance, a Debian repository (aptly) and a Spinnaker instance.&lt;/p&gt;</description>
			</item>
			<item>
				<title>An Introduction to Spinnaker: Hello Deployment</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/hello-deployment/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/hello-deployment/</guid>
				<description>&lt;p&gt;This guide will run through the workflow of setting up an example application deployment with&#xA;Spinnaker. It assumes you already have Spinnaker up and running on AWS or&#xA;GCE. A guide for installation can be found &#xA;&lt;a href=&#34;https://deploy-preview-637--spinnaker-io.netlify.app/docs/setup/install/&#34;&gt;here&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Below is a diagram of the workflow we will set up.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/hello-deployment/flow.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;set-up-jenkins&#34;&gt;Set up Jenkins&lt;/h2&gt;&#xA;&lt;p&gt;Jenkins is a powerful continuous integration server that allows us to do several important things:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Poll our Github repository for changes so Spinnaker knows when to run a pipeline.&lt;/li&gt;&#xA;&lt;li&gt;Compile and build our example application into a .deb package so Spinnaker can bake it on an&#xA;image. Spinnaker expects all applications to be deployed as deb packages.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;installing-jenkins&#34;&gt;Installing Jenkins&lt;/h3&gt;&#xA;&lt;p&gt;If you already have a Jenkins server, you can skip this step.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Kubernetes Source to Prod</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/kubernetes-source-to-prod/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/kubernetes-source-to-prod/</guid>
				<description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;In this codelab you will configure:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A GitHub repo containing both your code to be deployed, and the Kubernetes&#xA;manifests that will run your code.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;A set of Spinnaker pipelines to deploy changes to your code, manifests, and&#xA;application configuration from source to production.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;0-prerequisites&#34;&gt;0: Prerequisites&lt;/h2&gt;&#xA;&lt;p&gt;Before we begin, we need to do the following:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&#xA;&lt;a href=&#34;#configure-github&#34;&gt;Configure GitHub&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;You need some source code and manifests to deploy stored in GitHub. We have a&#xA;repository you can fork to follow along easily.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Oracle Cloud Infrastructure Source to Prod</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/oci-source-to-prod/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/oci-source-to-prod/</guid>
				<description>&lt;p&gt;In this codelab, you will create a cohesive workflow which takes source code and builds, tests, and promotes it to production.&lt;/p&gt;&#xA;&lt;p&gt;Building the binary from the source code is done outside of Spinnaker, typically in a CI system such as Jenkins, Travis, etc. Spinnaker is integrated with three CI systems.  Workflows can be triggered by jobs in these CI systems.  The easiest binary form for Spinnaker to produce machine image is debian or rpm packages.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Safe Deployments</title>
				<link>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/safe-deployments/</link>
				<pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
				<guid>https://deploy-preview-637--spinnaker-io.netlify.app/docs/guides/tutorials/codelabs/safe-deployments/</guid>
				<description>&lt;h2 id=&#34;overview&#34;&gt;Overview&lt;/h2&gt;&#xA;&lt;p&gt;In this codelab, you will improve a deployment process by adding safeguards to your deployments.&lt;/p&gt;&#xA;&lt;p&gt;This codelab is a continuation of the &#xA;&lt;a href=&#34;https://www.spinnaker.io/guides/tutorials/codelabs/kubernetes-source-to-prod/&#34; target=&#34;_blank&#34;&gt;Kubernetes: code to prod&lt;/a&gt;&#xA; codelab. It assumes you have an application set up and ready to deploy.&lt;/p&gt;&#xA;&lt;h2 id=&#34;setup&#34;&gt;Setup&lt;/h2&gt;&#xA;&lt;p&gt;Please follow the steps in the Kubernetes Source to Prod guide to create a deployed Spinnaker cluster.&lt;/p&gt;&#xA;&lt;h2 id=&#34;making-manual-operations-safer&#34;&gt;Making manual operations safer&lt;/h2&gt;&#xA;&lt;h3 id=&#34;using-the-rollback-action&#34;&gt;Using the Rollback action&lt;/h3&gt;&#xA;&lt;p&gt;The rollback action automates the process of restoring to the previous good known server group. This feature enhances a traditionally manual operation by ensuring that the restored cluster is taking traffic before disabling the current server group.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
