From 1a0253a51140a0fdc51804875231f8bfc30a00b4 Mon Sep 17 00:00:00 2001 From: Martin Schuster Date: Wed, 14 Nov 2018 16:33:37 +0100 Subject: [PATCH 1/2] fix spelling, typos, whitespace --- _modules.yml | 2 +- devops-custom-slave.adoc | 8 ++++---- devops-deploy-jenkins.adoc | 2 +- devops-deployment-envs.adoc | 4 ++-- devops-env-info.adoc | 12 ++++++------ devops-explore-openshift.adoc | 2 +- devops-pipeline-scm.adoc | 10 +++++----- devops-promotion.adoc | 4 ++-- devops-simple-pipeline.adoc | 6 +++--- devops-webhook.adoc | 2 +- devops-zerodowntime-automated.adoc | 6 +++--- devops-zerodowntime-manual.adoc | 16 ++++++++-------- 12 files changed, 37 insertions(+), 37 deletions(-) diff --git a/_modules.yml b/_modules.yml index 518f31c..950a2e0 100644 --- a/_modules.yml +++ b/_modules.yml @@ -34,4 +34,4 @@ modules: devops-custom-slave: name: Creating Custom Jenkins Slave Pods devops-env-info: - name: "Appnedix: Lab Environment" \ No newline at end of file + name: "Appendix: Lab Environment" diff --git a/devops-custom-slave.adoc b/devops-custom-slave.adoc index 291f74b..858938d 100644 --- a/devops-custom-slave.adoc +++ b/devops-custom-slave.adoc @@ -1,6 +1,6 @@ ## Creating Custom Jenkins Slave Pods -In this lab you will get familiar with creating custom slave container images for running distributed builds on OpenShfit. +In this lab you will get familiar with creating custom slave container images for running distributed builds on OpenShift. #### Background @@ -21,7 +21,7 @@ To facilitate the using of the Kubernetes plug-in, OpenShift Container Platform The base image for Jenkins slaves pulls in both required tools (headless Java, the Jenkins JNLP client) and generally useful ones (including git, tar, zip, nss among others) as well as running the slave agent. -The certified Jenkins image provided by OpenShift also provides auto-discovery and auto-configuration of slave images by searching for these in the existing image streams within the project that it is running in. The search specifically looks for image streams that have the label role=jenkins-slave. When it finds an image stream with this label, it generates the corresponding Kubernetes plug-in configuration so you can assign your Jenkins jobs to run in a pod running the container image provided by the image stream. +The certified Jenkins image provided by OpenShift also provides auto-discovery and auto-configuration of slave images by searching for these in the existing image streams within the project that it is running in. The search specifically looks for image streams that have the label `role=jenkins-slave`. When it finds an image stream with this label, it generates the corresponding Kubernetes plug-in configuration so you can assign your Jenkins jobs to run in a pod running the container image provided by the image stream. Note that this scanning is only performed once, when the Jenkins master is starting. @@ -70,7 +70,7 @@ $ oc label is/jenkins-slave-gradle-rhel7 role=jenkins-slave $ oc annotate is/jenkins-slave-gradle-rhel7 slave-label=gradle ---- -When Jenkins master starts for the first time, it automatically scans the image registry for slave images and configures them on Jenkins. Since you use an ephemeral Jenkins (without persistent storage) in this lab, restarting Jenkins causes a fresh Jenkins container to be deployed and to run the automatic configuration and discovery at startup to configure the Gradle slave image. When using a persistent Jenkins, all configurations would be kept and be available on the new container as well and therefore the automatic scan would not get triggered to avoid overwriting user configurations in Jenkins. In that case, you can configure the Gradle jenkins slave by adding a *Kubernetes Pod Template* in Jenkins configuration panel. +When Jenkins master starts for the first time, it automatically scans the image registry for slave images and configures them on Jenkins. Since you use an ephemeral Jenkins (without persistent storage) in this lab, restarting Jenkins causes a fresh Jenkins container to be deployed and to run the automatic configuration and discovery at startup to configure the Gradle slave image. When using a persistent Jenkins, all configurations would be kept and be available on the new container as well and therefore the automatic scan would not get triggered to avoid overwriting user configurations in Jenkins. In that case, you can configure the Gradle Jenkins slave by adding a *Kubernetes Pod Template* in Jenkins configuration panel. Delete the Jenkins pod so that OpenShift auto-healing capability starts a new Jenkins pod: @@ -144,4 +144,4 @@ In the _CI/CD Infra_ project, click on *Builds -> Pipelines* on the left sidebar image::devops-slave-job-log.png[Pipeline Log] -image::devops-slave-gradle-pipeline.png[OpenShift Pipeline with Gradle] \ No newline at end of file +image::devops-slave-gradle-pipeline.png[OpenShift Pipeline with Gradle] diff --git a/devops-deploy-jenkins.adoc b/devops-deploy-jenkins.adoc index 7ddcddb..a8bf095 100644 --- a/devops-deploy-jenkins.adoc +++ b/devops-deploy-jenkins.adoc @@ -51,4 +51,4 @@ $ oc policy add-role-to-user edit system:serviceaccount:ci-{{PROJECT_SUFFIX}}:je $ oc policy add-role-to-user edit system:serviceaccount:ci-{{PROJECT_SUFFIX}}:jenkins -n prod-{{PROJECT_SUFFIX}} ---- -Your Jenkins server is ready now. \ No newline at end of file +Your Jenkins server is ready now. diff --git a/devops-deployment-envs.adoc b/devops-deployment-envs.adoc index f063495..d8a379c 100644 --- a/devops-deployment-envs.adoc +++ b/devops-deployment-envs.adoc @@ -26,7 +26,7 @@ CAUTION: Replace `{{PROJECT_SUFFIX}}` with the number provided to you by the ins image::devops-envs-create-dev.png[Create Dev Project, width=360] -The Dev deployment project for the Cart service is created now and is ready for the Cart service to be deployed. +The Dev deployment project for the Cart service is created now and is ready for the Cart service to be deployed. image::devops-envs-dev-project.png[Dev Project] @@ -61,7 +61,7 @@ CAUTION: Replace `{{PROJECT_SUFFIX}}` with the number provided to you by the ins image::devops-envs-cart-newapp.png[Deploy Cart Service, width=800] -Click on *advanced options* to review advanced options for setting memory and cpu limits, environment variables, scaling and more when deploying an application. In this lab, similar to most development teams a Maven artifact repository (e.g. Sonatype Nexus and Artifactory) is used for managing Maven artifacts. Add the following environment variable under *Build Configuration* to specify the Maven repository manager URL to be used during the build phase: +Click on *advanced options* to review advanced options for setting memory and CPU limits, environment variables, scaling and more when deploying an application. In this lab, similar to most development teams a Maven artifact repository (e.g. Sonatype Nexus and Artifactory) is used for managing Maven artifacts. Add the following environment variable under *Build Configuration* to specify the Maven repository manager URL to be used during the build phase: * Name: `MAVEN_MIRROR_URL` * Value: `{{NEXUS_INTERNAL_URL}}/repository/maven-all-public` diff --git a/devops-env-info.adoc b/devops-env-info.adoc index ecf9996..39f03b1 100644 --- a/devops-env-info.adoc +++ b/devops-env-info.adoc @@ -1,13 +1,13 @@ ## Appendix: Environment Info -You find all urls, hostnames, usernames and passwords that are needed during the -labs in this page. Note that the urls are also embedded inside each lab instructions. +You find all URLs, hostnames, usernames and passwords that are needed during the +labs in this page. Note that the URLs are also embedded inside each lab instructions. **OPENSHIFT** Address: {{ OPENSHIFT_URL }} + -Username: `{{ OPENSHIFT_USER }}` + +Username: `{{ OPENSHIFT_USER }}` + Password: `{{ OPENSHIFT_PASSWORD }}` + IMPORTANT: Replace `{{ PROJECT_SUFFIX }}` with the id given to you by the instructor @@ -16,8 +16,8 @@ IMPORTANT: Replace `{{ PROJECT_SUFFIX }}` with the id given to you by the instru Web: http://{{ GIT_SERVER_URL }} -Username: `{{ GIT_USER }}` + -Password: `{{ GIT_PASSWORD }}` + +Username: `{{ GIT_USER }}` + +Password: `{{ GIT_PASSWORD }}` + **NEXUS MAVEN REPOSITORY** @@ -31,4 +31,4 @@ Web: {{ ECLIPSE_CHE_URL }} **OPENSHIFT DOCS** -Web: {{ OPENSHIFT_DOCS_BASE }} \ No newline at end of file +Web: {{ OPENSHIFT_DOCS_BASE }} diff --git a/devops-explore-openshift.adoc b/devops-explore-openshift.adoc index 51e51b0..32f6455 100644 --- a/devops-explore-openshift.adoc +++ b/devops-explore-openshift.adoc @@ -31,7 +31,7 @@ In order to login, you can use the `oc` command and then specify the server that $ oc login {{OPENSHIFT_URL}} ---- -Enter *Y* to use a potentially insecure connection. The reason you received this message is because we are using a self-signed certificate for this workshop, but we did not provide you with the CA certificate that was generated by OpenShift. In a real-world scenario, either OpenShift certificate would be signed by a standard CA (eg: Thawte, Verisign, StartSSL, etc.) or signed by a corporate-standard CA that you already have installed on your system. +Enter *Y* to use a potentially insecure connection. The reason you received this message is because we are using a self-signed certificate for this workshop, but we did not provide you with the CA certificate that was generated by OpenShift. In a real-world scenario, either OpenShift certificate would be signed by a standard CA (e.g. Thawte, Verisign, StartSSL, etc.) or signed by a corporate-standard CA that you already have installed on your system. Once you issue the `oc login` command, you will be prompted for the username and password combination for your user account. Replace XX with the username given to you by the instructor: diff --git a/devops-pipeline-scm.adoc b/devops-pipeline-scm.adoc index 6d1e72b..aeb319c 100644 --- a/devops-pipeline-scm.adoc +++ b/devops-pipeline-scm.adoc @@ -1,6 +1,6 @@ ## Pipeline Definition as Code -In this lab you will get familiar with definine a pipeline as code and manage its versions via a version control system. +In this lab you will get familiar with defining a pipeline as code and manage its versions via a version control system. #### Background Although it is convenient to embed a Jenkinsfile into an OpenShift Pipeline and edit it directly in the OpenShift Web Console, there is no history of changes made to the pipeline through the UI. Furthermore, switching back and forth between multiple versions of the pipeline becomes challenging with an embedded Jenkinsfile. Therefore, it is generally considered a best practice to create a Jenkinsfile and check it into the source control repository in order to manage its versions and history of changes applied to it. @@ -21,9 +21,9 @@ CAUTION: Replace `{{PROJECT_SUFFIX}}` with the number provided to you by the ins [TIP] ==== -If you are using Eclipse Che, click on **Import Project...** and then enter the Git url -as the `URL` and click on **Import**. Make sure to replace your username and password in the -Git url: +If you are using Eclipse Che, click on **Import Project...** and then enter the Git URL +as the `URL` and click on **Import**. Make sure to replace your username and password in the +Git URL: http://{{GIT_USER}}:{{GIT_PASSWORD}}@{{GIT_SERVER_URL}}/{{GIT_USER}}/cart-service.git @@ -78,7 +78,7 @@ pipeline { dc = openshift.selector("dc", "cart") dc.rollout().latest() timeout(10) { - dc.rollout().status() + dc.rollout().status() } } } diff --git a/devops-promotion.adoc b/devops-promotion.adoc index 4137c36..9038eb3 100644 --- a/devops-promotion.adoc +++ b/devops-promotion.adoc @@ -66,7 +66,7 @@ Tag cart:prod set to dev-{{PROJECT_SUFFIX}}/cart@sha256:ee898ec51ab7bbce53ff4142 The above command promotes the `cart:latest` container image which is the latest image build of the Cart service in the _Dev_ environment, to the _Prod_ environment and names it `cart:prod`. As soon as the cart image is promoted to the _Prod_ environment, the Cart container gets automatically deployed. As new Cart service container images are built, the _Prod_ environment remains intact until you promote the new image builds to the _Prod_ environment after sufficient testing. -When the Cart service is ready, click on the Web UI route url and verify that CoolStore online shop is working correctly. If the product list is not displayed correctly, refresh the page a few times. +When the Cart service is ready, click on the Web UI route URL and verify that CoolStore online shop is working correctly. If the product list is not displayed correctly, refresh the page a few times. image::devops-intro-coolstore.png[CoolStore Webshop] @@ -85,7 +85,7 @@ CAUTION: Replace `{{PROJECT_SUFFIX}}` with the number provided to you by the ins stage('Promote to Prod') { steps { timeout(time:15, unit:'MINUTES') { - input message: "Approve Promotion to Prod?", ok: "Promote" + input message: "Approve Promotion to Prod?", ok: "Promote" } script { openshift.withCluster() { diff --git a/devops-simple-pipeline.adoc b/devops-simple-pipeline.adoc index cc0f5ab..2640935 100644 --- a/devops-simple-pipeline.adoc +++ b/devops-simple-pipeline.adoc @@ -39,7 +39,7 @@ pipeline { Running builds, especially large builds, frequently requires a lot of resources and quite soon surpass the available resources on the Jenkins server. Jenkins supports a master-slave architecture in order to be able to scale and run many builds and pipelines simultaneously. A slave is a Jenkins worker instance that is configured to offload build jobs (e.g. pipeline execution) from the master. In a master-slave setup, a number of slave instances are configured for the Jenkins master and the master distributes running builds between the slaves instances based on the build tools and others configurations available on each slave instance. -The Jenkins certified image on OpenShift is pre-configured to {{OPENSHIFT_DOCS_BASE}}/using_images/other_images/jenkins.html#using-the-jenkins-kubernetes-plug-in-to-run-jobs[dynamically create Jenkins slave containers] when running OpenShift pipelines. The `agent { labe 'maven' }` statement instructs Jenkins to dynamically deploy a Jenkins slave container which is configured for running Apache Maven builds and execute the pipeline on that container. Dynamic provisioning of the Jenkins slave containers allows running many builds in parallel on OpenShift without overloading the Jenkins master. +The Jenkins certified image on OpenShift is pre-configured to {{OPENSHIFT_DOCS_BASE}}/using_images/other_images/jenkins.html#using-the-jenkins-kubernetes-plug-in-to-run-jobs[dynamically create Jenkins slave containers] when running OpenShift pipelines. The `agent { label 'maven' }` statement instructs Jenkins to dynamically deploy a Jenkins slave container which is configured for running Apache Maven builds and execute the pipeline on that container. Dynamic provisioning of the Jenkins slave containers allows running many builds in parallel on OpenShift without overloading the Jenkins master. Although one can use OpenShift CLI in the pipeline definition to interact with OpenShift, OpenShift Pipelines also provide a set of easy to use building blocks via the https://github.com/openshift/jenkins-client-plugin[OpenShift DSL Jenkins Plugin] which simplify performing actions against OpenShift deployments. You will use this plugin in the next section. @@ -83,7 +83,7 @@ spec: dc = openshift.selector("dc", "cart") dc.rollout().latest() timeout(10) { - dc.rollout().status("-w") + dc.rollout().status("-w") } } } @@ -109,7 +109,7 @@ Click on *Overview* in the OpenShift Web Console, and see that a Jenkins server image::devops-simple-pipeline-jenkins-autoprovision.png[Jenkins Auto-provisioning] -When you deployed Cart service, the deployment is configured to automatically initiate a new deployment everytime a new version of the Cart container image is available. When using pipelines, you might want the pipeline to control when a deployment should happen independent of whether an updated Cart container image is available. In order to do that, you can change the automatic deployment to manual on the Cart deploymentconfig using OpenShift CLI: +When you deployed Cart service, the deployment is configured to automatically initiate a new deployment every time a new version of the Cart container image is available. When using pipelines, you might want the pipeline to control when a deployment should happen independent of whether an updated Cart container image is available. In order to do that, you can change the automatic deployment to manual on the Cart deploymentconfig using OpenShift CLI: CAUTION: Replace `{{PROJECT_SUFFIX}}` with the number provided to you by the instructor. diff --git a/devops-webhook.adoc b/devops-webhook.adoc index d7b090c..391a853 100644 --- a/devops-webhook.adoc +++ b/devops-webhook.adoc @@ -1,6 +1,6 @@ ## Running the CI/CD Pipeline on Every Change -In this lab you will learn about webhooks and how to automatically run the changes through the pipeline everytime there is a change in the application source repository. +In this lab you will learn about Webhooks and how to automatically run the changes through the pipeline every time there is a change in the application source repository. #### Background diff --git a/devops-zerodowntime-automated.adoc b/devops-zerodowntime-automated.adoc index a099c81..f4b0d21 100644 --- a/devops-zerodowntime-automated.adoc +++ b/devops-zerodowntime-automated.adoc @@ -52,7 +52,7 @@ pipeline { dc = openshift.selector("dc", "cart") dc.rollout().latest() timeout(10) { - dc.rollout().status() + dc.rollout().status() } } } @@ -100,7 +100,7 @@ pipeline { stage('Approve Go Live') { steps { timeout(time:15, unit:'MINUTES') { - input message: "Approve Promotion to Prod?", ok: "Promote" + input message: "Approve Promotion to Prod?", ok: "Promote" } script { openshift.withCluster() { @@ -175,4 +175,4 @@ Notice that the shipping cost is zero since the total order is above the 20$ min Now that the new minimum order rule is verified in the new version of Cart service in the Prod environment, you can approve the *Go Live*. Go back to *Builds -> Pipelines* and click on *Input Required* and then *Promote* to approve the Go Live. Add a Pebble Smart Watch to your shopping cart again and verify that shipping is now free in the live version. -image::devops-zerodowntime-bg-approved.png[Deployment Pipeline Complete] \ No newline at end of file +image::devops-zerodowntime-bg-approved.png[Deployment Pipeline Complete] diff --git a/devops-zerodowntime-manual.adoc b/devops-zerodowntime-manual.adoc index 885f3ef..8f414fa 100644 --- a/devops-zerodowntime-manual.adoc +++ b/devops-zerodowntime-manual.adoc @@ -4,15 +4,15 @@ In this lab you will get familiar with production deployments without requiring #### Background -Although you have automated the build and deployment of the Cart service all the way from development to production, every time the pipeline performs the deployment in production the service is unavailable for the period it takes for the Cart container to start up. This might be acceptable for certain services however an unavailable service for an online shop equalis lost orders and revenue specially during shopping seasons like Christmas. +Although you have automated the build and deployment of the Cart service all the way from development to production, every time the pipeline performs the deployment in production the service is unavailable for the period it takes for the Cart container to start up. This might be acceptable for certain services however an unavailable service for an online shop equals lost orders and revenue specially during shopping seasons like Christmas. Zero downtime deployments refers to a number of deployment pattern that allow deploying to production environment during work hours without a need for service windows and without causing any disruption for the live services. Blue-Green and Canary Release are two popular patterns that are often used to achieve zero downtime deployments. -Canary Release refers to deploying a new version of your app into production parallel to the live version and redirectly only a fraction of production traffic to the new version. After verifying that the canary deployment works correctly, incremental more production traffic is switched to the canary version until it serves 100% of the production traffic. Canary Release allows you to test the application directly in the production with subset of users so that in case of failure, only a small user set will be affected. +Canary Release refers to deploying a new version of your app into production parallel to the live version and redirecting only a fraction of production traffic to the new version. After verifying that the canary deployment works correctly, incremental more production traffic is switched to the canary version until it serves 100% of the production traffic. Canary Release allows you to test the application directly in the production with subset of users so that in case of failure, only a small user set will be affected. In Blue-Green deployment approach you also have two parallel production environments but at any point in time only one of them is active and receives the production traffic, for example the blue one. When you deploy the new version of the application in production, you deploy into the inactive environment, green in this example, and after ensuring that the new version works correctly in production you switch the router so that all incoming production traffic goes to the green environment, making the blue one idle. -Blue-green deployment also enables you to be able to quickly rollback to the previous version. if anything goes wrong with the new version after the switch, you can switch back the router the blue version. You still need to manage transactions and database changes when deploying new versions of your application however there are other patterns to specifically deal with those issues separately for example depending on your environment and application design, you might be able to feed transactions to both environments so that the blue environment acts as a backup or run the application in read-only mode before doing a switch. +Blue-green deployment also enables you to be able to quickly rollback to the previous version. If anything goes wrong with the new version after the switch, you can switch back the router the blue version. You still need to manage transactions and database changes when deploying new versions of your application however there are other patterns to specifically deal with those issues separately for example depending on your environment and application design, you might be able to feed transactions to both environments so that the blue environment acts as a backup or run the application in read-only mode before doing a switch. image::devops-zerodowntime-bluegreen-diagram.png[Blue-Green Deployment] @@ -94,7 +94,7 @@ $ oc create -f ~/cart-blue.yaml $ oc create -f ~/cart-green.yaml ---- -Now that the Cart Blue and Cart Green deployment and services are defined, you can deploy those containers in the the Prod environment. Click on *Applications -> Deployments* and then on *cart-blue*. Deploy the Cart Blue service by clicking on the *Deploy* button. Go back to the list of deployments and click on *cart-green*, and then *Deploy* button to also deploy the Cart Green service. +Now that the Cart Blue and Cart Green deployment and services are defined, you can deploy those containers in the Prod environment. Click on *Applications -> Deployments* and then on *cart-blue*. Deploy the Cart Blue service by clicking on the *Deploy* button. Go back to the list of deployments and click on *cart-green*, and then *Deploy* button to also deploy the Cart Green service. The Cart Blue and Green containers will be deployed alongside the previous Cart container. @@ -132,7 +132,7 @@ $ oc get routes Verify the routes are working using the `curl` command: -CAUTION: Replace the urls with routes in your project +CAUTION: Replace the URLs with routes in your project [source,shell] ---- @@ -164,9 +164,9 @@ public void applyShippingPromotions(ShoppingCart shoppingCart) { Notice that the minimum order for free shipping is currently 75$. In order to match a competitor website, you want to change the promotion rules and reduce the minimum to 40$. Click on the pencil icon to open `PromoService.java` in the web-based editor. -image::devops-zerodowntime-gogs-editor.png[Gogs Web Editort] +image::devops-zerodowntime-gogs-editor.png[Gogs Web Editor] -Change the minium order to 40$. The `PromoService.java` should look like this after the edit: +Change the minimum order to 40$. The `PromoService.java` should look like this after the edit: [source,java] ---- @@ -199,7 +199,7 @@ $ curl -X POST http://{{CART_GREEN_ROUTE}}/api/cart/FOO/444434/2 {"cartItemTotal":48.0,"cartItemPromoSavings":0.0,"shippingTotal":0.0,"shippingPromoSavings":-4.99,"cartTotal":52.99,"shoppingCartItemList":[{"price":24.0,"quantity":2,"promoSavings":0.0,"product":{"itemId":"444434","name":"Pebble Smart Watch","desc":"Smart glasses and smart watches are perhaps two of the most exciting developments in recent years. ","price":24.0}}]} ---- -Notice that the shipping cost is zero since the total order is above the 40$ minimum order. However the change is still not live and invoking the production endpoints for the Cart service should still have the 75$ minimum order. Click on the Web UI route url and add 2 Pebble Smart Watches to your shopping cart. As expected, the shipping cost is not zero. +Notice that the shipping cost is zero since the total order is above the 40$ minimum order. However the change is still not live and invoking the production endpoints for the Cart service should still have the 75$ minimum order. Click on the Web UI route URL and add 2 Pebble Smart Watches to your shopping cart. As expected, the shipping cost is not zero. image::devops-zerodowntime-shipping-costs.png[CoolStore Shopping Cart] From 8e295a88a9a287052d7b3e7b26b6f99f1f26706f Mon Sep 17 00:00:00 2001 From: Martin Schuster Date: Wed, 14 Nov 2018 16:52:41 +0100 Subject: [PATCH 2/2] Don't explicitely deploy cart-{green,blue} Importing the deploymentconfigs will automatically deploy the pods, no need to manually click around anymore --- devops-zerodowntime-manual.adoc | 4 ---- images/devops-zerodowntime-cart-bluegreen.png | Bin 98124 -> 0 bytes 2 files changed, 4 deletions(-) delete mode 100644 images/devops-zerodowntime-cart-bluegreen.png diff --git a/devops-zerodowntime-manual.adoc b/devops-zerodowntime-manual.adoc index 8f414fa..27b522f 100644 --- a/devops-zerodowntime-manual.adoc +++ b/devops-zerodowntime-manual.adoc @@ -94,12 +94,8 @@ $ oc create -f ~/cart-blue.yaml $ oc create -f ~/cart-green.yaml ---- -Now that the Cart Blue and Cart Green deployment and services are defined, you can deploy those containers in the Prod environment. Click on *Applications -> Deployments* and then on *cart-blue*. Deploy the Cart Blue service by clicking on the *Deploy* button. Go back to the list of deployments and click on *cart-green*, and then *Deploy* button to also deploy the Cart Green service. - The Cart Blue and Green containers will be deployed alongside the previous Cart container. -image::devops-zerodowntime-cart-bluegreen.png[Cart Blue Service and Cart Green Service] - You created the Cart blue and green services but the route is still pointing to the old container instead of either blue or the green container. Click on *Applications -> Routes* on the left sidebar menu and then click on *cart* route. Notice that it is currently pointing at the cart service. Click on *Actions* → *Edit* from the top-right menu. You can create a blue/green route by clicking on *Split traffic across multiple services* and adding `cart-blue` and `cart-green` services with 100 and 0 weight respectively to send all traffic to the cart-blue service and then click on *Save*. You can {{OPENSHIFT_DOCS_BASE}}/dev_guide/routes.html#routes-load-balancing-for-AB-testing[split the traffic] coming to a route across multiple backend services via weighting however in this lab you only need the `cart-blue` and `cart-green` services. diff --git a/images/devops-zerodowntime-cart-bluegreen.png b/images/devops-zerodowntime-cart-bluegreen.png deleted file mode 100644 index 749fef2cf2d3799fca732fcf294e588fdce908b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98124 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