Sync docs from v1.0.0.M7 to gh-pages

This commit is contained in:
Marcin Grzejszczak
2017-10-31 14:50:37 +01:00
parent 06ccaa140a
commit 00c91e2f29
10 changed files with 128 additions and 128 deletions

View File

@@ -22,14 +22,14 @@ scripts without changing the whole pipeline.</p></div><div class="section"><div
contained them. To fix this, just remove the tags</p><pre class="programlisting">git tag -l | xargs -n <span class="hl-number">1</span> git push --delete origin</pre></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="_i_want_to_provide_a_different_jdk_version" href="#_i_want_to_provide_a_different_jdk_version"></a>10.8&nbsp;I want to provide a different JDK version</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">by default we assume that you have jdk with id <code class="literal">jdk8</code> configured</li><li class="listitem">if you want a different one just override <code class="literal">JDK_VERSION</code> env var and point to the proper one</li></ul></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Tip"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Tip]" src="images/tip.png"></td><th align="left">Tip</th></tr><tr><td align="left" valign="top"><p>The docker image comes in with Java installed at <code class="literal">/usr/lib/jvm/java-8-openjdk-amd64</code>.
You can go to <code class="literal">Global Tools</code> and create a JDK with <code class="literal">jdk8</code> id and JAVA_HOME
pointing to <code class="literal">/usr/lib/jvm/java-8-openjdk-amd64</code></p></td></tr></table></div><p>To change the default one just follow these steps:</p><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5071" href="#d0e5071"></a><p class="title"><b>Figure&nbsp;10.1.&nbsp;Click 'Manage Jenkins'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/manage_jenkins.png" alt="manage jenkins"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5082" href="#d0e5082"></a><p class="title"><b>Figure&nbsp;10.2.&nbsp;Click 'Global Tool'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/global_tool.png" alt="global tool"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5093" href="#d0e5093"></a><p class="title"><b>Figure&nbsp;10.3.&nbsp;Click 'JDK Installations'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/jdk_installation.png" alt="jdk installation"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5104" href="#d0e5104"></a><p class="title"><b>Figure&nbsp;10.4.&nbsp;Fill out JDK Installation with path to your JDK</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/jdk.png" alt="jdk"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5076" href="#d0e5076"></a><p class="title"><b>Figure&nbsp;10.1.&nbsp;Click 'Manage Jenkins'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/manage_jenkins.png" alt="manage jenkins"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5087" href="#d0e5087"></a><p class="title"><b>Figure&nbsp;10.2.&nbsp;Click 'Global Tool'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/global_tool.png" alt="global tool"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5098" href="#d0e5098"></a><p class="title"><b>Figure&nbsp;10.3.&nbsp;Click 'JDK Installations'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/jdk_installation.png" alt="jdk installation"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5109" href="#d0e5109"></a><p class="title"><b>Figure&nbsp;10.4.&nbsp;Fill out JDK Installation with path to your JDK</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/jdk.png" alt="jdk"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><p>And that&#8217;s it!</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="groovy-token-macro" href="#groovy-token-macro"></a>10.9&nbsp;Enable Groovy Token Macro Processing</h2></div></div></div><p>With scripted that but if you needed to this manually then this is how to do it:</p><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5124" href="#d0e5124"></a><p class="title"><b>Figure&nbsp;10.5.&nbsp;Click 'Manage Jenkins'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/manage_jenkins.png" alt="manage jenkins"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5135" href="#d0e5135"></a><p class="title"><b>Figure&nbsp;10.6.&nbsp;Click 'Configure System'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/configure_system.png" alt="configure system"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5146" href="#d0e5146"></a><p class="title"><b>Figure&nbsp;10.7.&nbsp;Click 'Allow token macro processing'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/groovy_token.png" alt="groovy token"></div></div></div><br class="figure-break"></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="_i_want_deployment_to_stage_and_prod_be_automatic" href="#_i_want_deployment_to_stage_and_prod_be_automatic"></a>10.10&nbsp;I want deployment to stage and prod be automatic</h2></div></div></div><p>No problem, just set the property / env var to true</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><code class="literal">AUTO_DEPLOY_TO_STAGE</code> to automatically deploy to stage</li><li class="listitem"><code class="literal">AUTO_DEPLOY_TO_PROD</code> to automatically deploy to prod</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="_i_don_t_want_to_test_api_compativility" href="#_i_don_t_want_to_test_api_compativility"></a>10.11&nbsp;I don&#8217;t want to test API compativility</h2></div></div></div><p>No problem, just set the <code class="literal">API_COMPATIBILITY_STEP_REQUIRED</code> env variable
&nbsp;</p><div class="figure"><a name="d0e5129" href="#d0e5129"></a><p class="title"><b>Figure&nbsp;10.5.&nbsp;Click 'Manage Jenkins'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/manage_jenkins.png" alt="manage jenkins"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5140" href="#d0e5140"></a><p class="title"><b>Figure&nbsp;10.6.&nbsp;Click 'Configure System'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/configure_system.png" alt="configure system"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e5151" href="#d0e5151"></a><p class="title"><b>Figure&nbsp;10.7.&nbsp;Click 'Allow token macro processing'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/groovy_token.png" alt="groovy token"></div></div></div><br class="figure-break"></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="_i_want_deployment_to_stage_and_prod_be_automatic" href="#_i_want_deployment_to_stage_and_prod_be_automatic"></a>10.10&nbsp;I want deployment to stage and prod be automatic</h2></div></div></div><p>No problem, just set the property / env var to true</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><code class="literal">AUTO_DEPLOY_TO_STAGE</code> to automatically deploy to stage</li><li class="listitem"><code class="literal">AUTO_DEPLOY_TO_PROD</code> to automatically deploy to prod</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="_i_don_t_want_to_test_api_compativility" href="#_i_don_t_want_to_test_api_compativility"></a>10.11&nbsp;I don&#8217;t want to test API compativility</h2></div></div></div><p>No problem, just set the <code class="literal">API_COMPATIBILITY_STEP_REQUIRED</code> env variable
to <code class="literal">false</code> and rerun the seed (you can pick it from the seed
job&#8217;s properties too).</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="_i_can_t_tag_the_repo" href="#_i_can_t_tag_the_repo"></a>10.12&nbsp;I can&#8217;t tag the repo!</h2></div></div></div><p>When you get sth like this:</p><pre class="programlisting"><span class="hl-number">19</span>:<span class="hl-number">01</span>:<span class="hl-number">44</span> stderr: remote: Invalid username or password.
<span class="hl-number">19</span>:<span class="hl-number">01</span>:<span class="hl-number">44</span> fatal: Authentication failed <span xmlns:d="http://docbook.org/ns/docbook" class="hl-keyword">for</span> <span xmlns:d="http://docbook.org/ns/docbook" class="hl-string">'https://github.com/marcingrzejszczak/github-webhook/'</span>

View File

@@ -59,15 +59,15 @@ of Java installation and the others to another one.</p></td></tr></table></div><
you&#8217;d have to go to <code class="literal">Configure</code> of the build step and modify the Git name / email.
If you want to set it globally you&#8217;ll have to remove the section from the build
step and follow these steps to set it globally.</p><p>You can set Git email / user globally like this:</p><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2636" href="#d0e2636"></a><p class="title"><b>Figure&nbsp;7.1.&nbsp;Click 'Manage Jenkins'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/manage_jenkins.png" alt="manage jenkins"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2647" href="#d0e2647"></a><p class="title"><b>Figure&nbsp;7.2.&nbsp;Click 'Configure System'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/configure_system.png" alt="configure system"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2658" href="#d0e2658"></a><p class="title"><b>Figure&nbsp;7.3.&nbsp;Fill out Git user information</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/git.png" alt="git"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2641" href="#d0e2641"></a><p class="title"><b>Figure&nbsp;7.1.&nbsp;Click 'Manage Jenkins'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/manage_jenkins.png" alt="manage jenkins"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2652" href="#d0e2652"></a><p class="title"><b>Figure&nbsp;7.2.&nbsp;Click 'Configure System'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/configure_system.png" alt="configure system"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2663" href="#d0e2663"></a><p class="title"><b>Figure&nbsp;7.3.&nbsp;Fill out Git user information</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/git.png" alt="git"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a name="jenkins-credentials-github" href="#jenkins-credentials-github"></a>Add Jenkins credentials for GitHub</h4></div></div></div><p><a name="jenkins-credentials" href="#jenkins-credentials"></a> The scripts will need to access the credential in order to tag the repo.</p><p>You have to set credentials with id: <code class="literal">git</code>.</p><p>Below you can find instructions on how to set a credential (e.g. for Cloud Foundry <code class="literal">cf-test</code> credential but
remember to provide the one with id <code class="literal">git</code>).</p><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2690" href="#d0e2690"></a><p class="title"><b>Figure&nbsp;7.4.&nbsp;Click 'Credentials, System'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/credentials_system.png" alt="credentials system"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2701" href="#d0e2701"></a><p class="title"><b>Figure&nbsp;7.5.&nbsp;Click 'Global Credentials'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/credentials_global.png" alt="credentials global"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2712" href="#d0e2712"></a><p class="title"><b>Figure&nbsp;7.6.&nbsp;Click 'Add credentials'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/credentials_add.png" alt="credentials add"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2723" href="#d0e2723"></a><p class="title"><b>Figure&nbsp;7.7.&nbsp;Fill out the user / password and provide the <code class="literal">git</code> credential ID (in this example <code class="literal">cf-test</code>)</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/credentials_example.png" alt="credentials example"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2695" href="#d0e2695"></a><p class="title"><b>Figure&nbsp;7.4.&nbsp;Click 'Credentials, System'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/credentials_system.png" alt="credentials system"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2706" href="#d0e2706"></a><p class="title"><b>Figure&nbsp;7.5.&nbsp;Click 'Global Credentials'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/credentials_global.png" alt="credentials global"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2717" href="#d0e2717"></a><p class="title"><b>Figure&nbsp;7.6.&nbsp;Click 'Add credentials'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/credentials_add.png" alt="credentials add"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2728" href="#d0e2728"></a><p class="title"><b>Figure&nbsp;7.7.&nbsp;Fill out the user / password and provide the <code class="literal">git</code> credential ID (in this example <code class="literal">cf-test</code>)</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/credentials_example.png" alt="credentials example"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="_testing_jenkins_scripts" href="#_testing_jenkins_scripts"></a>7.3&nbsp;Testing Jenkins scripts</h2></div></div></div><p><code class="literal">./gradlew clean build</code></p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="images/warning.png"></td><th align="left">Warning</th></tr><tr><td align="left" valign="top"><p>The ran test only checks if your scripts compile.</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="_how_to_work_with_jenkins_job_dsl_plugin" href="#_how_to_work_with_jenkins_job_dsl_plugin"></a>7.4&nbsp;How to work with Jenkins Job DSL plugin</h2></div></div></div><p>Check out the <a class="link" href="https://github.com/jenkinsci/job-dsl-plugin/wiki/Tutorial---Using-the-Jenkins-Job-DSL" target="_top">tutorial</a>.
Provide the link to this repository in your Jenkins installation.</p><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="images/warning.png"></td><th align="left">Warning</th></tr><tr><td align="left" valign="top"><p>Remember that views can be overridden that&#8217;s why the suggestion is to contain in one script all the logic needed to build a view
for a single project (check out that <code class="literal">spring_cloud_views.groovy</code> is building all the <code class="literal">spring-cloud</code> views).</p></td></tr></table></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="_docker_image" href="#_docker_image"></a>7.5&nbsp;Docker Image</h2></div></div></div><p>If you would like to run the pre-configured Jenkins image somewhere other than your local machine, we

File diff suppressed because one or more lines are too long

View File

@@ -2,14 +2,14 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>12.&nbsp;The demo setup (Cloud Foundry)</title><link rel="stylesheet" type="text/css" href="css/manual-multipage.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="multi_spring-cloud-pipelines.html" title="Spring Cloud Pipelines"><link rel="up" href="multi_spring-cloud-pipelines.html" title="Spring Cloud Pipelines"><link rel="prev" href="multi__kubernetes_setup.html" title="11.&nbsp;Kubernetes setup"><link rel="next" href="multi__the_demo_setup_kubernetes.html" title="13.&nbsp;The demo setup (Kubernetes)"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">12.&nbsp;The demo setup (Cloud Foundry)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="multi__kubernetes_setup.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="multi__the_demo_setup_kubernetes.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="_the_demo_setup_cloud_foundry" href="#_the_demo_setup_cloud_foundry"></a>12.&nbsp;The demo setup (Cloud Foundry)</h1></div></div></div><p>The demo uses 2 applications. <a class="link" href="https://github.com/spring-cloud-samples/github-webhook/" target="_top">Github Webhook</a>
and <a class="link" href="https://github.com/spring-cloud-samples/github-analytics/" target="_top">Github analytics code</a>. Below you can
see an image of how these application communicate with each other.</p><div class="figure"><a name="d0e5513" href="#d0e5513"></a><p class="title"><b>Figure&nbsp;12.1.&nbsp;Github Webhook listens to HTTP calls and sends a message to Github Analytics</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/demo/demo.png" alt="demo"></div></div></div><br class="figure-break"><p>&nbsp;
see an image of how these application communicate with each other.</p><div class="figure"><a name="d0e5518" href="#d0e5518"></a><p class="title"><b>Figure&nbsp;12.1.&nbsp;Github Webhook listens to HTTP calls and sends a message to Github Analytics</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/demo/demo.png" alt="demo"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><p>For the demo scenario we have two applications. <code class="literal">Github Analytics</code> and <code class="literal">Github Webhook</code>.
Let&#8217;s imagine a case where Github is emitting events via HTTP. <code class="literal">Github Webhook</code> has
an API that could register to such hooks and receive those messages. Once this happens
<code class="literal">Github Webhook</code> sends a message by RabbitMQ to a channel. <code class="literal">Github Analytics</code> is
listening to those messages and stores them in a MySQL database.</p><div class="figure"><a name="d0e5541" href="#d0e5541"></a><p class="title"><b>Figure&nbsp;12.2.&nbsp;Github Analytics exposes metrics that are polled by Prometheus</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/demo/demo_metrics.png" alt="demo metrics"></div></div></div><br class="figure-break"><p>&nbsp;
listening to those messages and stores them in a MySQL database.</p><div class="figure"><a name="d0e5546" href="#d0e5546"></a><p class="title"><b>Figure&nbsp;12.2.&nbsp;Github Analytics exposes metrics that are polled by Prometheus</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/demo/demo_metrics.png" alt="demo metrics"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><p><code class="literal">Github Analytics</code> has its KPIs (Key Performance Indicators) monitored. In the case
of that application the KPI is number of issues.</p><div class="figure"><a name="d0e5556" href="#d0e5556"></a><p class="title"><b>Figure&nbsp;12.3.&nbsp;Grafana alerts Slack over Prometheus metrics</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/demo/demo_alerting.png" alt="demo alerting"></div></div></div><br class="figure-break"><p>&nbsp;
of that application the KPI is number of issues.</p><div class="figure"><a name="d0e5561" href="#d0e5561"></a><p class="title"><b>Figure&nbsp;12.3.&nbsp;Grafana alerts Slack over Prometheus metrics</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/demo/demo_alerting.png" alt="demo alerting"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><p>Let&#8217;s assume that if we go below the threshold of X issues then an alert should be
sent to Slack.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="_deploying_production_applications_to_pcf_dev" href="#_deploying_production_applications_to_pcf_dev"></a>12.1&nbsp;Deploying production applications to PCF Dev</h2></div></div></div><p>In the real world scenario we wouldn&#8217;t want to automatically provision services like
RabbitMQ, MySQL or Eureka each time we deploy a new application to production. Typically

View File

@@ -2,14 +2,14 @@
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>13.&nbsp;The demo setup (Kubernetes)</title><link rel="stylesheet" type="text/css" href="css/manual-multipage.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="multi_spring-cloud-pipelines.html" title="Spring Cloud Pipelines"><link rel="up" href="multi_spring-cloud-pipelines.html" title="Spring Cloud Pipelines"><link rel="prev" href="multi__the_demo_setup_cloud_foundry.html" title="12.&nbsp;The demo setup (Cloud Foundry)"><link rel="next" href="multi__building_the_project.html" title="14.&nbsp;Building the project"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">13.&nbsp;The demo setup (Kubernetes)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="multi__the_demo_setup_cloud_foundry.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="multi__building_the_project.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="_the_demo_setup_kubernetes" href="#_the_demo_setup_kubernetes"></a>13.&nbsp;The demo setup (Kubernetes)</h1></div></div></div><p>The demo uses 2 applications. <a class="link" href="https://github.com/spring-cloud-samples/github-webhook-kubernetes/" target="_top">Github Webhook</a>
and <a class="link" href="https://github.com/spring-cloud-samples/github-analytics-kubernetes/" target="_top">Github analytics code</a>. Below you can
see an image of how these application communicate with each other.</p><div class="figure"><a name="d0e5677" href="#d0e5677"></a><p class="title"><b>Figure&nbsp;13.1.&nbsp;Github Webhook listens to HTTP calls and sends a message to Github Analytics</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/demo/demo.png" alt="demo"></div></div></div><br class="figure-break"><p>&nbsp;
see an image of how these application communicate with each other.</p><div class="figure"><a name="d0e5682" href="#d0e5682"></a><p class="title"><b>Figure&nbsp;13.1.&nbsp;Github Webhook listens to HTTP calls and sends a message to Github Analytics</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/demo/demo.png" alt="demo"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><p>For the demo scenario we have two applications. <code class="literal">Github Analytics</code> and <code class="literal">Github Webhook</code>.
Let&#8217;s imagine a case where Github is emitting events via HTTP. <code class="literal">Github Webhook</code> has
an API that could register to such hooks and receive those messages. Once this happens
<code class="literal">Github Webhook</code> sends a message by RabbitMQ to a channel. <code class="literal">Github Analytics</code> is
listening to those messages and stores them in a MySQL database.</p><div class="figure"><a name="d0e5705" href="#d0e5705"></a><p class="title"><b>Figure&nbsp;13.2.&nbsp;Github Analytics exposes metrics that are polled by Prometheus</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/demo/demo_metrics.png" alt="demo metrics"></div></div></div><br class="figure-break"><p>&nbsp;
listening to those messages and stores them in a MySQL database.</p><div class="figure"><a name="d0e5710" href="#d0e5710"></a><p class="title"><b>Figure&nbsp;13.2.&nbsp;Github Analytics exposes metrics that are polled by Prometheus</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/demo/demo_metrics.png" alt="demo metrics"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><p><code class="literal">Github Analytics</code> has its KPIs (Key Performance Indicators) monitored. In the case
of that application the KPI is number of issues.</p><div class="figure"><a name="d0e5720" href="#d0e5720"></a><p class="title"><b>Figure&nbsp;13.3.&nbsp;Grafana alerts Slack over Prometheus metrics</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/demo/demo_alerting.png" alt="demo alerting"></div></div></div><br class="figure-break"><p>&nbsp;
of that application the KPI is number of issues.</p><div class="figure"><a name="d0e5725" href="#d0e5725"></a><p class="title"><b>Figure&nbsp;13.3.&nbsp;Grafana alerts Slack over Prometheus metrics</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/demo/demo_alerting.png" alt="demo alerting"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><p>Let&#8217;s assume that if we go below the threshold of X issues then an alert should be
sent to Slack.</p><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="_deploying_production_applications_to_minikube" href="#_deploying_production_applications_to_minikube"></a>13.1&nbsp;Deploying production applications to Minikube</h2></div></div></div><p>In the real world scenario we wouldn&#8217;t want to automatically provision services like
RabbitMQ, MySQL or Eureka each time we deploy a new application to production. Typically

View File

@@ -3,7 +3,7 @@
<title>5.&nbsp;Concourse Pipeline (Kubernetes)</title><link rel="stylesheet" type="text/css" href="css/manual-multipage.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="multi_spring-cloud-pipelines.html" title="Spring Cloud Pipelines"><link rel="up" href="multi_spring-cloud-pipelines.html" title="Spring Cloud Pipelines"><link rel="prev" href="multi_concourse-pipeline-cf.html" title="4.&nbsp;Concourse Pipeline (Cloud Foundry)"><link rel="next" href="multi_concourse-faq.html" title="6.&nbsp;Concourse FAQ"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">5.&nbsp;Concourse Pipeline (Kubernetes)</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="multi_concourse-pipeline-cf.html">Prev</a>&nbsp;</td><th width="60%" align="center">&nbsp;</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="multi_concourse-faq.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="concourse-pipeline-k8s" href="#concourse-pipeline-k8s"></a>5.&nbsp;Concourse Pipeline (Kubernetes)</h1></div></div></div><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="images/important.png"></td><th align="left">Important</th></tr><tr><td align="left" valign="top"><p>In this chapter we assume that you perform deployment of your application
to Kubernetes PaaS</p></td></tr></table></div><p><a name="concourse" href="#concourse"></a> The Spring Cloud Pipelines repository contains opinionated
Concourse pipeline definition. Those jobs will form an empty pipeline and a
sample, opinionated one that you can use in your company.</p><p>All in all there are the following projects taking part in the whole <code class="literal">microservice setup</code> for this demo.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-analytics-kubernetes" target="_top">Github Analytics</a> - the app that has a REST endpoint and uses messaging. Our business application.</li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-webhook-kubernetes" target="_top">Github Webhook</a> - project that emits messages that are used by Github Analytics. Our business application.</li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-eureka" target="_top">Eureka</a> - simple Eureka Server. This is an infrastructure application.</li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-analytics-stub-runner-boot" target="_top">Github Analytics Stub Runner Boot</a> - Stub Runner Boot server to be used for tests with Github Analytics. Uses Eureka and Messaging. This is an infrastructure application.</li></ul></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="step-by-step-k8s" href="#step-by-step-k8s"></a>5.1&nbsp;Step by step</h2></div></div></div><p>This is a guide for Concourse pipeline.</p><p>If you want to just run the demo as far as possible using PCF Dev and Docker Compose</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><a class="link" href="multi_concourse-pipeline-k8s.html#concourse-fork-k8s">Fork repos</a></li><li class="listitem"><a class="link" href="">Start Concourse and Artifactory</a></li><li class="listitem"><a class="link" href="">Deploy infra to Artifactory</a></li><li class="listitem"><a class="link" href="">Start Minikube (if you don&#8217;t want to use an existing one)</a></li><li class="listitem"><a class="link" href="">Run the seed job</a></li><li class="listitem"><a class="link" href="multi_concourse-pipeline-k8s.html" title="5.&nbsp;Concourse Pipeline (Kubernetes)">Run the <code class="literal">github-webhook</code> pipeline</a></li></ul></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="fork-repos-k8s" href="#fork-repos-k8s"></a>5.1.1&nbsp;Fork repos</h3></div></div></div><p><a name="concourse-fork-k8s" href="#concourse-fork-k8s"></a> There are 4 apps that are composing the pipeline</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-webhook-kubernetes" target="_top">Github Webhook</a></li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-analytics-kubernetes/" target="_top">Github Analytics</a></li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-eureka" target="_top">Github Eureka</a></li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-analytics-stub-runner-boot-classpath-stubs" target="_top">Github Stub Runner Boot</a></li></ul></div><p>You need to fork only these. That&#8217;s because only then will your user be able to tag and push the tag to repo.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-webhook-kubernetes" target="_top">Github Webhook</a></li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-analytics-kubernetes/" target="_top">Github Analytics</a></li></ul></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="_concourse_in_k8s_kubernetes" href="#_concourse_in_k8s_kubernetes"></a>5.2&nbsp;Concourse in K8S (Kubernetes)</h2></div></div></div><p>The simplest way to deploy Concourse to K8S is to use <a class="link" href="https://github.com/kubernetes/helm" target="_top">Helm</a>.
sample, opinionated one that you can use in your company.</p><p>All in all there are the following projects taking part in the whole <code class="literal">microservice setup</code> for this demo.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-analytics-kubernetes" target="_top">Github Analytics</a> - the app that has a REST endpoint and uses messaging. Our business application.</li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-webhook-kubernetes" target="_top">Github Webhook</a> - project that emits messages that are used by Github Analytics. Our business application.</li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-eureka" target="_top">Eureka</a> - simple Eureka Server. This is an infrastructure application.</li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-analytics-stub-runner-boot" target="_top">Github Analytics Stub Runner Boot</a> - Stub Runner Boot server to be used for tests with Github Analytics. Uses Eureka and Messaging. This is an infrastructure application.</li></ul></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="step-by-step-k8s" href="#step-by-step-k8s"></a>5.1&nbsp;Step by step</h2></div></div></div><p>This is a guide for Concourse pipeline.</p><p>If you want to just run the demo as far as possible using PCF Dev and Docker Compose</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><a class="link" href="multi_concourse-pipeline-k8s.html#concourse-fork-k8s">Fork repos</a></li><li class="listitem"><a class="link" href="multi_concourse-pipeline-k8s.html#concourse-start-k8s" title="5.2&nbsp;Concourse in K8S (Kubernetes)">Start Concourse and Artifactory</a></li><li class="listitem"><a class="link" href="multi_concourse-pipeline-k8s.html#concourse-pipeline-fly-k8s" title="5.2.2&nbsp;Setup the fly CLI">Setup the <code class="literal">fly</code> CLI</a></li><li class="listitem"><a class="link" href="multi_concourse-pipeline-k8s.html#concourse-pipeline-credentials-k8s" title="5.2.3&nbsp;Setup your credentials.yml">Setup your <code class="literal">credentials.yml</code></a></li><li class="listitem"><a class="link" href="multi_concourse-pipeline-k8s.html#concourse-pipeline-build-k8s" title="5.2.4&nbsp;Build the pipeline">Setup the pipeline</a></li><li class="listitem"><a class="link" href="multi_concourse-pipeline-k8s.html#concourse-pipeline-run-k8s" title="5.2.5&nbsp;Run the github-webhook pipeline">Run the <code class="literal">github-webhook</code> pipeline</a></li></ul></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="fork-repos-k8s" href="#fork-repos-k8s"></a>5.1.1&nbsp;Fork repos</h3></div></div></div><p><a name="concourse-fork-k8s" href="#concourse-fork-k8s"></a> There are 4 apps that are composing the pipeline</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-webhook-kubernetes" target="_top">Github Webhook</a></li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-analytics-kubernetes/" target="_top">Github Analytics</a></li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-eureka" target="_top">Github Eureka</a></li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-analytics-stub-runner-boot-classpath-stubs" target="_top">Github Stub Runner Boot</a></li></ul></div><p>You need to fork only these. That&#8217;s because only then will your user be able to tag and push the tag to repo.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-webhook-kubernetes" target="_top">Github Webhook</a></li><li class="listitem"><a class="link" href="https://github.com/spring-cloud-samples/github-analytics-kubernetes/" target="_top">Github Analytics</a></li></ul></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="concourse-start-k8s" href="#concourse-start-k8s"></a>5.2&nbsp;Concourse in K8S (Kubernetes)</h2></div></div></div><p>The simplest way to deploy Concourse to K8S is to use <a class="link" href="https://github.com/kubernetes/helm" target="_top">Helm</a>.
Once you have Helm installed and your <code class="literal">kubectl</code> is pointing to the
cluster, just type this command to install the Concourse cluster in your K8S cluster.</p><pre class="programlisting">$ helm install stable/concourse --name concourse</pre><p>Once it&#8217;s done you&#8217;ll see the following output</p><pre class="programlisting"><span class="hl-number">1.</span> Concourse can be accessed:
@@ -34,7 +34,7 @@ Congratulations. You have just deployed JFrog Artifactory Pro!
Default credential <span xmlns:d="http://docbook.org/ns/docbook" class="hl-keyword">for</span> Artifactory:
user: admin
password: password</pre><p>Next, we need to set up the repositories.</p><p>First, access the Artifactory URL and log in with
user, <code class="literal">admin</code> and <code class="literal">password</code> password.</p><div class="figure"><a name="d0e2008" href="#d0e2008"></a><p class="title"><b>Figure&nbsp;5.1.&nbsp;Click on the <code class="literal">Quick Setup</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/artifactory_quick_setup.png" alt="artifactory quick setup"></div></div></div><br class="figure-break"><p>Then, click on the Maven setup and click <code class="literal">Create</code>.</p><div class="figure"><a name="d0e2024" href="#d0e2024"></a><p class="title"><b>Figure&nbsp;5.2.&nbsp;Create the <code class="literal">Maven</code> Repository</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/artifactory_maven_repo.png" alt="artifactory maven repo"></div></div></div><br class="figure-break"></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="concourse-pipeline-fly-k8s" href="#concourse-pipeline-fly-k8s"></a>5.2.2&nbsp;Setup the <code class="literal">fly</code> CLI</h3></div></div></div><p><a name="fly" href="#fly"></a> If you go to Concourse website you should see sth like this:</p><p>&nbsp;
user, <code class="literal">admin</code> and <code class="literal">password</code> password.</p><div class="figure"><a name="d0e2013" href="#d0e2013"></a><p class="title"><b>Figure&nbsp;5.1.&nbsp;Click on the <code class="literal">Quick Setup</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/artifactory_quick_setup.png" alt="artifactory quick setup"></div></div></div><br class="figure-break"><p>Then, click on the Maven setup and click <code class="literal">Create</code>.</p><div class="figure"><a name="d0e2029" href="#d0e2029"></a><p class="title"><b>Figure&nbsp;5.2.&nbsp;Create the <code class="literal">Maven</code> Repository</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/artifactory_maven_repo.png" alt="artifactory maven repo"></div></div></div><br class="figure-break"></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="concourse-pipeline-fly-k8s" href="#concourse-pipeline-fly-k8s"></a>5.2.2&nbsp;Setup the <code class="literal">fly</code> CLI</h3></div></div></div><p><a name="fly" href="#fly"></a> If you go to Concourse website you should see sth like this:</p><p>&nbsp;
&nbsp;</p><div class="informalfigure"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/running_concourse.png" alt="running concourse"></div></div><p>&nbsp;
&nbsp;</p><p>You can click one of the icons (depending on your OS) to download <code class="literal">fly</code>, which is the Concourse CLI. Once you&#8217;ve downloaded that (and maybe added to your PATH) you can run:</p><pre class="programlisting">fly --version</pre><p>If <code class="literal">fly</code> is properly installed then it should print out the version.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="concourse-pipeline-credentials-k8s" href="#concourse-pipeline-credentials-k8s"></a>5.2.3&nbsp;Setup your <code class="literal">credentials.yml</code></h3></div></div></div><p>There is a sample credentials file called <code class="literal">credentials-sample-k8s.yml</code>
prepared for <code class="literal">k8s</code>. You can use it as a base for your <code class="literal">credentials.yml</code>.</p><p>To allow the Concourse worker&#8217;s spawned container to connect to
@@ -43,13 +43,13 @@ auth token.</p><p>To get the contents of CA for GCE just execute</p><pre class="
$ <span xmlns:d="http://docbook.org/ns/docbook" class="hl-keyword">echo</span> <span xmlns:d="http://docbook.org/ns/docbook" class="hl-string">"Visit http://127.0.0.1:8080 to use Concourse"</span>
$ kubectl port-forward --namespace default $POD_NAME <span class="hl-number">8080</span>:<span class="hl-number">8080</span>
Visit http://<span class="hl-number">127.0</span>.<span class="hl-number">0.1</span>:<span class="hl-number">8080</span> to use Concourse</pre><p>Log in (e.g. for Concourse running at <code class="literal">127.0.0.1</code> - if you don&#8217;t provide any value then <code class="literal">localhost</code> is assumed). If you execute this script (it assumes that either <code class="literal">fly</code> is on your <code class="literal">PATH</code> or it&#8217;s in the same folder as the script is):</p><pre class="programlisting">$ fly -t k8s login -c http://localhost:<span class="hl-number">8080</span> -u concourse -p concourse</pre><p>Next run the command to create the pipeline.</p><pre class="programlisting">$ ./set_pipeline.sh github-webhook k8s credentials-k8s.yml</pre></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="concourse-pipeline-run-k8s" href="#concourse-pipeline-run-k8s"></a>5.2.5&nbsp;Run the <code class="literal">github-webhook</code> pipeline</h3></div></div></div><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2139" href="#d0e2139"></a><p class="title"><b>Figure&nbsp;5.3.&nbsp;Click <code class="literal">Login</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/concourse_login.png" alt="concourse login"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2152" href="#d0e2152"></a><p class="title"><b>Figure&nbsp;5.4.&nbsp;Pick <code class="literal">main</code> team</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/concourse_team_main.png" alt="concourse team main"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2166" href="#d0e2166"></a><p class="title"><b>Figure&nbsp;5.5.&nbsp;Log in with <code class="literal">concourse</code> user and <code class="literal">concourse</code> password</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/concourse_user_pass.png" alt="concourse user pass"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2183" href="#d0e2183"></a><p class="title"><b>Figure&nbsp;5.6.&nbsp;Your screen should look more or less like this</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/concourse_pipeline.png" alt="concourse pipeline"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2194" href="#d0e2194"></a><p class="title"><b>Figure&nbsp;5.7.&nbsp;Unpause the pipeline by clicking in the top lefr corner and then clicking the <code class="literal">play</code> button</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/start_pipeline.png" alt="start pipeline"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2208" href="#d0e2208"></a><p class="title"><b>Figure&nbsp;5.8.&nbsp;Click 'generate-version'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/generate_version.png" alt="generate version"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2219" href="#d0e2219"></a><p class="title"><b>Figure&nbsp;5.9.&nbsp;Click <code class="literal">+</code> sign to start a new build</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/run_pipeline.png" alt="run pipeline"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2233" href="#d0e2233"></a><p class="title"><b>Figure&nbsp;5.10.&nbsp;The job is pending</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/concourse_pending.png" alt="concourse pending"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2244" href="#d0e2244"></a><p class="title"><b>Figure&nbsp;5.11.&nbsp;Job is pending in the main screen</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/job_running.png" alt="job running"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2255" href="#d0e2255"></a><p class="title"><b>Figure&nbsp;5.12.&nbsp;Job is running in the main screen</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/running_pipeline.png" alt="running pipeline"></div></div></div><br class="figure-break"></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="multi_concourse-pipeline-cf.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="multi_concourse-faq.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.&nbsp;Concourse Pipeline (Cloud Foundry)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="multi_spring-cloud-pipelines.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;6.&nbsp;Concourse FAQ</td></tr></table></div></body></html>
&nbsp;</p><div class="figure"><a name="d0e2144" href="#d0e2144"></a><p class="title"><b>Figure&nbsp;5.3.&nbsp;Click <code class="literal">Login</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/concourse_login.png" alt="concourse login"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2157" href="#d0e2157"></a><p class="title"><b>Figure&nbsp;5.4.&nbsp;Pick <code class="literal">main</code> team</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/concourse_team_main.png" alt="concourse team main"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2171" href="#d0e2171"></a><p class="title"><b>Figure&nbsp;5.5.&nbsp;Log in with <code class="literal">concourse</code> user and <code class="literal">concourse</code> password</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/concourse_user_pass.png" alt="concourse user pass"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2188" href="#d0e2188"></a><p class="title"><b>Figure&nbsp;5.6.&nbsp;Your screen should look more or less like this</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/concourse_pipeline.png" alt="concourse pipeline"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2199" href="#d0e2199"></a><p class="title"><b>Figure&nbsp;5.7.&nbsp;Unpause the pipeline by clicking in the top lefr corner and then clicking the <code class="literal">play</code> button</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/start_pipeline.png" alt="start pipeline"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2213" href="#d0e2213"></a><p class="title"><b>Figure&nbsp;5.8.&nbsp;Click 'generate-version'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/generate_version.png" alt="generate version"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2224" href="#d0e2224"></a><p class="title"><b>Figure&nbsp;5.9.&nbsp;Click <code class="literal">+</code> sign to start a new build</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/run_pipeline.png" alt="run pipeline"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2238" href="#d0e2238"></a><p class="title"><b>Figure&nbsp;5.10.&nbsp;The job is pending</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/concourse_pending.png" alt="concourse pending"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2249" href="#d0e2249"></a><p class="title"><b>Figure&nbsp;5.11.&nbsp;Job is pending in the main screen</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/job_running.png" alt="job running"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2260" href="#d0e2260"></a><p class="title"><b>Figure&nbsp;5.12.&nbsp;Job is running in the main screen</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/concourse/running_pipeline.png" alt="running pipeline"></div></div></div><br class="figure-break"></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="multi_concourse-pipeline-cf.html">Prev</a>&nbsp;</td><td width="20%" align="center">&nbsp;</td><td width="40%" align="right">&nbsp;<a accesskey="n" href="multi_concourse-faq.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">4.&nbsp;Concourse Pipeline (Cloud Foundry)&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="multi_spring-cloud-pipelines.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;6.&nbsp;Concourse FAQ</td></tr></table></div></body></html>

View File

@@ -32,35 +32,35 @@ has all the properties options, but you can delete most of it. If you
set the properties as global env variables you have to remove them from the
seed.</p><p>Anyways, to run the demo just provide in the <code class="literal">REPOS</code> var the comma separated
list of URLs of the 2 aforementioned forks of <code class="literal">github-webhook</code> and `github-analytics'.</p><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2974" href="#d0e2974"></a><p class="title"><b>Figure&nbsp;8.1.&nbsp;Click the 'jenkins-pipeline-seed-cf' job for Cloud Foundry and <code class="literal">jenkins-pipeline-seed-k8s</code> for Kubernetes</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_click.png" alt="seed click"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2988" href="#d0e2988"></a><p class="title"><b>Figure&nbsp;8.2.&nbsp;Click the 'Build with parameters'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_run.png" alt="seed run"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2999" href="#d0e2999"></a><p class="title"><b>Figure&nbsp;8.3.&nbsp;The <code class="literal">REPOS</code> parameter should already contain your forked repos (you&#8217;ll have more properties than the ones in the screenshot)</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed.png" alt="seed"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3013" href="#d0e3013"></a><p class="title"><b>Figure&nbsp;8.4.&nbsp;This is how the results of seed should look like</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_built.png" alt="seed built"></div></div></div><br class="figure-break"></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="jenkins-pipeline-cf" href="#jenkins-pipeline-cf"></a>8.1.5&nbsp;Run the <code class="literal">github-webhook</code> pipeline</h3></div></div></div><p>We already create the seed job for you but you&#8217;ll have to run it. When you do
&nbsp;</p><div class="figure"><a name="d0e2979" href="#d0e2979"></a><p class="title"><b>Figure&nbsp;8.1.&nbsp;Click the 'jenkins-pipeline-seed-cf' job for Cloud Foundry and <code class="literal">jenkins-pipeline-seed-k8s</code> for Kubernetes</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_click.png" alt="seed click"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e2993" href="#d0e2993"></a><p class="title"><b>Figure&nbsp;8.2.&nbsp;Click the 'Build with parameters'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_run.png" alt="seed run"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3004" href="#d0e3004"></a><p class="title"><b>Figure&nbsp;8.3.&nbsp;The <code class="literal">REPOS</code> parameter should already contain your forked repos (you&#8217;ll have more properties than the ones in the screenshot)</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed.png" alt="seed"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3018" href="#d0e3018"></a><p class="title"><b>Figure&nbsp;8.4.&nbsp;This is how the results of seed should look like</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_built.png" alt="seed built"></div></div></div><br class="figure-break"></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="jenkins-pipeline-cf" href="#jenkins-pipeline-cf"></a>8.1.5&nbsp;Run the <code class="literal">github-webhook</code> pipeline</h3></div></div></div><p>We already create the seed job for you but you&#8217;ll have to run it. When you do
run it you have to provide some properties. By default we create a seed that
has all the properties options, but you can delete most of it. If you
set the properties as global env variables you have to remove them from the
seed.</p><p>Anyways, to run the demo just provide in the <code class="literal">REPOS</code> var the comma separated
list of URLs of the 2 aforementioned forks of <code class="literal">github-webhook</code> and <code class="literal">github-analytics</code>.</p><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3043" href="#d0e3043"></a><p class="title"><b>Figure&nbsp;8.5.&nbsp;Click the 'github-webhook' view</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_views.png" alt="seed views"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3054" href="#d0e3054"></a><p class="title"><b>Figure&nbsp;8.6.&nbsp;Run the pipeline</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/pipeline_run.png" alt="pipeline run"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3048" href="#d0e3048"></a><p class="title"><b>Figure&nbsp;8.5.&nbsp;Click the 'github-webhook' view</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_views.png" alt="seed views"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3059" href="#d0e3059"></a><p class="title"><b>Figure&nbsp;8.6.&nbsp;Run the pipeline</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/pipeline_run.png" alt="pipeline run"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="images/important.png"></td><th align="left">Important</th></tr><tr><td align="left" valign="top"><p>If your build fails on the <span class="strong"><strong>deploy previous version to stage</strong></span> due to missing jar,
that means that you&#8217;ve forgotten to clear the tags in your repo. Typically that&#8217;s due to the fact that
you&#8217;ve removed the Artifactory volume with deployed JAR whereas a tag in the repo is still pointing there.
<a class="link" href="">Check out this section on how to remove the tag.</a></p></td></tr></table></div><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3075" href="#d0e3075"></a><p class="title"><b>Figure&nbsp;8.7.&nbsp;Click the manual step to go to stage (remember about killing the apps on test env). To do this click the <span class="strong">ARROW</span> next to the job name</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/pipeline_manual.png" alt="pipeline manual"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3080" href="#d0e3080"></a><p class="title"><b>Figure&nbsp;8.7.&nbsp;Click the manual step to go to stage (remember about killing the apps on test env). To do this click the <span class="strong">ARROW</span> next to the job name</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/pipeline_manual.png" alt="pipeline manual"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="images/important.png"></td><th align="left">Important</th></tr><tr><td align="left" valign="top"><p>Most likely you will run out of memory so when reaching the stage
environment it&#8217;s good to kill all apps on test. <a class="link" href="">Check out the FAQ section for more details</a>!</p></td></tr></table></div><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3097" href="#d0e3097"></a><p class="title"><b>Figure&nbsp;8.8.&nbsp;The full pipeline should look like this</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/pipeline_finished.png" alt="pipeline finished"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3102" href="#d0e3102"></a><p class="title"><b>Figure&nbsp;8.8.&nbsp;The full pipeline should look like this</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/pipeline_finished.png" alt="pipeline finished"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="declarative-pipeline-cf" href="#declarative-pipeline-cf"></a>8.2&nbsp;Declarative pipeline &amp; Blue Ocean</h2></div></div></div><p>You can also use the <a class="link" href="https://jenkins.io/doc/book/pipeline/syntax/" target="_top">declarative pipeline</a> approach with the
<a class="link" href="https://jenkins.io/projects/blueocean/" target="_top">Blue Ocean UI</a>. Here is a step by step guide to run a pipeline via
this approach.</p><p>The Blue Ocean UI is available under the <code class="literal">blue/</code> URL. E.g. for Docker Machine based setup <code class="literal"><a class="link" href="http://192.168.99.100:8080/blue" target="_top">http://192.168.99.100:8080/blue</a></code>.</p><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3130" href="#d0e3130"></a><p class="title"><b>Figure&nbsp;8.9.&nbsp;Open Blue Ocean UI and click on <code class="literal">github-webhook-declarative-pipeline</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_1.png" alt="blue 1"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3143" href="#d0e3143"></a><p class="title"><b>Figure&nbsp;8.10.&nbsp;Your first run will look like this. Click <code class="literal">Run</code> button</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_2.png" alt="blue 2"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3157" href="#d0e3157"></a><p class="title"><b>Figure&nbsp;8.11.&nbsp;Enter parameters required for the build and click <code class="literal">run</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_3.png" alt="blue 3"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3170" href="#d0e3170"></a><p class="title"><b>Figure&nbsp;8.12.&nbsp;A list of pipelines will be shown. Click your first run.</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_4.png" alt="blue 4"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3181" href="#d0e3181"></a><p class="title"><b>Figure&nbsp;8.13.&nbsp;State if you want to go to production or not and click <code class="literal">Proceed</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_5.png" alt="blue 5"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3194" href="#d0e3194"></a><p class="title"><b>Figure&nbsp;8.14.&nbsp;The build is in progress&#8230;&#8203;</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_6.png" alt="blue 6"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3205" href="#d0e3205"></a><p class="title"><b>Figure&nbsp;8.15.&nbsp;The pipeline is done!</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_7.png" alt="blue 7"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3135" href="#d0e3135"></a><p class="title"><b>Figure&nbsp;8.9.&nbsp;Open Blue Ocean UI and click on <code class="literal">github-webhook-declarative-pipeline</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_1.png" alt="blue 1"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3148" href="#d0e3148"></a><p class="title"><b>Figure&nbsp;8.10.&nbsp;Your first run will look like this. Click <code class="literal">Run</code> button</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_2.png" alt="blue 2"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3162" href="#d0e3162"></a><p class="title"><b>Figure&nbsp;8.11.&nbsp;Enter parameters required for the build and click <code class="literal">run</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_3.png" alt="blue 3"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3175" href="#d0e3175"></a><p class="title"><b>Figure&nbsp;8.12.&nbsp;A list of pipelines will be shown. Click your first run.</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_4.png" alt="blue 4"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3186" href="#d0e3186"></a><p class="title"><b>Figure&nbsp;8.13.&nbsp;State if you want to go to production or not and click <code class="literal">Proceed</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_5.png" alt="blue 5"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3199" href="#d0e3199"></a><p class="title"><b>Figure&nbsp;8.14.&nbsp;The build is in progress&#8230;&#8203;</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_6.png" alt="blue 6"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3210" href="#d0e3210"></a><p class="title"><b>Figure&nbsp;8.15.&nbsp;The pipeline is done!</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_7.png" alt="blue 7"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="images/important.png"></td><th align="left">Important</th></tr><tr><td align="left" valign="top"><p>There is no possibility of restarting pipeline from specific stage, after failure. Please
check out this <a class="link" href="https://issues.jenkins-ci.org/browse/JENKINS-33846" target="_top">issue</a> for more information</p></td></tr></table></div><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="images/warning.png"></td><th align="left">Warning</th></tr><tr><td align="left" valign="top"><p>Currently there is no way to introduce manual steps in a performant way. Jenkins is
blocking an executor when manual step is required. That means that you&#8217;ll run out of executors

View File

@@ -24,35 +24,35 @@ has all the properties options, but you can delete most of it. If you
set the properties as global env variables you have to remove them from the
seed.</p><p>Anyways, to run the demo just provide in the <code class="literal">REPOS</code> var the comma separated
list of URLs of the 2 aforementioned forks of <code class="literal">github-webhook</code> and `github-analytics'.</p><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3777" href="#d0e3777"></a><p class="title"><b>Figure&nbsp;9.1.&nbsp;Click the 'jenkins-pipeline-seed-cf' job for Cloud Foundry and <code class="literal">jenkins-pipeline-seed-k8s</code> for Kubernetes</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_click.png" alt="seed click"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3791" href="#d0e3791"></a><p class="title"><b>Figure&nbsp;9.2.&nbsp;Click the 'Build with parameters'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_run.png" alt="seed run"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3802" href="#d0e3802"></a><p class="title"><b>Figure&nbsp;9.3.&nbsp;The <code class="literal">REPOS</code> parameter should already contain your forked repos (you&#8217;ll have more properties than the ones in the screenshot)</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed.png" alt="seed"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3816" href="#d0e3816"></a><p class="title"><b>Figure&nbsp;9.4.&nbsp;This is how the results of seed should look like</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_built.png" alt="seed built"></div></div></div><br class="figure-break"></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="jenkins-pipeline-k8s" href="#jenkins-pipeline-k8s"></a>9.1.4&nbsp;Run the <code class="literal">github-webhook</code> pipeline</h3></div></div></div><p>We already create the seed job for you but you&#8217;ll have to run it. When you do
&nbsp;</p><div class="figure"><a name="d0e3782" href="#d0e3782"></a><p class="title"><b>Figure&nbsp;9.1.&nbsp;Click the 'jenkins-pipeline-seed-cf' job for Cloud Foundry and <code class="literal">jenkins-pipeline-seed-k8s</code> for Kubernetes</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_click.png" alt="seed click"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3796" href="#d0e3796"></a><p class="title"><b>Figure&nbsp;9.2.&nbsp;Click the 'Build with parameters'</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_run.png" alt="seed run"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3807" href="#d0e3807"></a><p class="title"><b>Figure&nbsp;9.3.&nbsp;The <code class="literal">REPOS</code> parameter should already contain your forked repos (you&#8217;ll have more properties than the ones in the screenshot)</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed.png" alt="seed"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3821" href="#d0e3821"></a><p class="title"><b>Figure&nbsp;9.4.&nbsp;This is how the results of seed should look like</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_built.png" alt="seed built"></div></div></div><br class="figure-break"></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a name="jenkins-pipeline-k8s" href="#jenkins-pipeline-k8s"></a>9.1.4&nbsp;Run the <code class="literal">github-webhook</code> pipeline</h3></div></div></div><p>We already create the seed job for you but you&#8217;ll have to run it. When you do
run it you have to provide some properties. By default we create a seed that
has all the properties options, but you can delete most of it. If you
set the properties as global env variables you have to remove them from the
seed.</p><p>Anyways, to run the demo just provide in the <code class="literal">REPOS</code> var the comma separated
list of URLs of the 2 aforementioned forks of <code class="literal">github-webhook</code> and <code class="literal">github-analytics</code>.</p><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3846" href="#d0e3846"></a><p class="title"><b>Figure&nbsp;9.5.&nbsp;Click the 'github-webhook' view</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_views.png" alt="seed views"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3857" href="#d0e3857"></a><p class="title"><b>Figure&nbsp;9.6.&nbsp;Run the pipeline</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/pipeline_run.png" alt="pipeline run"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3851" href="#d0e3851"></a><p class="title"><b>Figure&nbsp;9.5.&nbsp;Click the 'github-webhook' view</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/seed_views.png" alt="seed views"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3862" href="#d0e3862"></a><p class="title"><b>Figure&nbsp;9.6.&nbsp;Run the pipeline</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/pipeline_run.png" alt="pipeline run"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="images/important.png"></td><th align="left">Important</th></tr><tr><td align="left" valign="top"><p>If your build fails on the <span class="strong"><strong>deploy previous version to stage</strong></span> due to missing jar,
that means that you&#8217;ve forgotten to clear the tags in your repo. Typically that&#8217;s due to the fact that
you&#8217;ve removed the Artifactory volume with deployed JAR whereas a tag in the repo is still pointing there.
<a class="link" href="">Check out this section on how to remove the tag.</a></p></td></tr></table></div><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3878" href="#d0e3878"></a><p class="title"><b>Figure&nbsp;9.7.&nbsp;Click the manual step to go to stage (remember about killing the apps on test env). To do this click the <span class="strong">ARROW</span> next to the job name</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/pipeline_manual.png" alt="pipeline manual"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3883" href="#d0e3883"></a><p class="title"><b>Figure&nbsp;9.7.&nbsp;Click the manual step to go to stage (remember about killing the apps on test env). To do this click the <span class="strong">ARROW</span> next to the job name</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/pipeline_manual.png" alt="pipeline manual"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="images/important.png"></td><th align="left">Important</th></tr><tr><td align="left" valign="top"><p>Most likely you will run out of memory so when reaching the stage
environment it&#8217;s good to kill all apps on test. <a class="link" href="">Check out the FAQ section for more details</a>!</p></td></tr></table></div><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3900" href="#d0e3900"></a><p class="title"><b>Figure&nbsp;9.8.&nbsp;The full pipeline should look like this</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/pipeline_finished.png" alt="pipeline finished"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3905" href="#d0e3905"></a><p class="title"><b>Figure&nbsp;9.8.&nbsp;The full pipeline should look like this</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/pipeline_finished.png" alt="pipeline finished"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="declarative-pipeline-k8s" href="#declarative-pipeline-k8s"></a>9.2&nbsp;Declarative pipeline &amp; Blue Ocean</h2></div></div></div><p>You can also use the <a class="link" href="https://jenkins.io/doc/book/pipeline/syntax/" target="_top">declarative pipeline</a> approach with the
<a class="link" href="https://jenkins.io/projects/blueocean/" target="_top">Blue Ocean UI</a>. Here is a step by step guide to run a pipeline via
this approach.</p><p>The Blue Ocean UI is available under the <code class="literal">blue/</code> URL. E.g. for Docker Machine based setup <code class="literal"><a class="link" href="http://192.168.99.100:8080/blue" target="_top">http://192.168.99.100:8080/blue</a></code>.</p><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3933" href="#d0e3933"></a><p class="title"><b>Figure&nbsp;9.9.&nbsp;Open Blue Ocean UI and click on <code class="literal">github-webhook-declarative-pipeline</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_1.png" alt="blue 1"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3946" href="#d0e3946"></a><p class="title"><b>Figure&nbsp;9.10.&nbsp;Your first run will look like this. Click <code class="literal">Run</code> button</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_2.png" alt="blue 2"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3960" href="#d0e3960"></a><p class="title"><b>Figure&nbsp;9.11.&nbsp;Enter parameters required for the build and click <code class="literal">run</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_3.png" alt="blue 3"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3973" href="#d0e3973"></a><p class="title"><b>Figure&nbsp;9.12.&nbsp;A list of pipelines will be shown. Click your first run.</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_4.png" alt="blue 4"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3984" href="#d0e3984"></a><p class="title"><b>Figure&nbsp;9.13.&nbsp;State if you want to go to production or not and click <code class="literal">Proceed</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_5.png" alt="blue 5"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3997" href="#d0e3997"></a><p class="title"><b>Figure&nbsp;9.14.&nbsp;The build is in progress&#8230;&#8203;</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_6.png" alt="blue 6"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e4008" href="#d0e4008"></a><p class="title"><b>Figure&nbsp;9.15.&nbsp;The pipeline is done!</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_7.png" alt="blue 7"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3938" href="#d0e3938"></a><p class="title"><b>Figure&nbsp;9.9.&nbsp;Open Blue Ocean UI and click on <code class="literal">github-webhook-declarative-pipeline</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_1.png" alt="blue 1"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3951" href="#d0e3951"></a><p class="title"><b>Figure&nbsp;9.10.&nbsp;Your first run will look like this. Click <code class="literal">Run</code> button</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_2.png" alt="blue 2"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3965" href="#d0e3965"></a><p class="title"><b>Figure&nbsp;9.11.&nbsp;Enter parameters required for the build and click <code class="literal">run</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_3.png" alt="blue 3"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3978" href="#d0e3978"></a><p class="title"><b>Figure&nbsp;9.12.&nbsp;A list of pipelines will be shown. Click your first run.</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_4.png" alt="blue 4"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e3989" href="#d0e3989"></a><p class="title"><b>Figure&nbsp;9.13.&nbsp;State if you want to go to production or not and click <code class="literal">Proceed</code></b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_5.png" alt="blue 5"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e4002" href="#d0e4002"></a><p class="title"><b>Figure&nbsp;9.14.&nbsp;The build is in progress&#8230;&#8203;</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_6.png" alt="blue 6"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="figure"><a name="d0e4013" href="#d0e4013"></a><p class="title"><b>Figure&nbsp;9.15.&nbsp;The pipeline is done!</b></p><div class="figure-contents"><div class="mediaobject"><img src="https://raw.githubusercontent.com/spring-cloud/spring-cloud-pipelines/master/docs-sources/src/main/asciidoc/images/jenkins/blue_7.png" alt="blue 7"></div></div></div><br class="figure-break"><p>&nbsp;
&nbsp;</p><div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="images/important.png"></td><th align="left">Important</th></tr><tr><td align="left" valign="top"><p>There is no possibility of restarting pipeline from specific stage, after failure. Please
check out this <a class="link" href="https://issues.jenkins-ci.org/browse/JENKINS-33846" target="_top">issue</a> for more information</p></td></tr></table></div><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="images/warning.png"></td><th align="left">Warning</th></tr><tr><td align="left" valign="top"><p>Currently there is no way to introduce manual steps in a performant way. Jenkins is
blocking an executor when manual step is required. That means that you&#8217;ll run out of executors

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long