100% found this document useful (1 vote)
83 views

Unit4 DevOps v2021

Uploaded by

Benali Hamdi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
83 views

Unit4 DevOps v2021

Uploaded by

Benali Hamdi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 69

V12.

0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Unit 4. Adopting a DevOps approach


with IBM Continuous Delivery
Estimated time
01:30

Overview
This unit introduces the features and functions of the DevOps services in the cloud development
platform, IBM Cloud

References
• What is DevOps?
https://www.youtube.com/watch?v=UbtB4sMaaNM
• DevOps For Dummies®, 3rd IBM Limited Edition, Chapter 1, found at:
https://www.ibm.com/downloads/cas/P9NYOK3B
• DevOps For Dummies®, 3rd IBM Limited Edition, Chapter 3
https://www.ibm.com/downloads/cas/P9NYOK3B
• IBM UrbanCode
https://www.ibm.com/cloud/urbancode
• Software testing
https://www.ibm.com/topics/software-testing
• Application Performance Management
https://www.ibm.com/cloud/learn/application-performance-management?mhsrc=ibmsearch
_a&mhq=application%20performance%20management
• AIOps tools
https://www.ibm.com/cloud/cloud-pak-for-watson-aiops
• IBM Garage methods
https://www.ibm.com/garage/method
• IBM Garage Methodology
https://www.ibm.com/garage/method
• IBM Cloud Continuous Delivery
https://www.ibm.com/cloud/continuous-delivery

© Copyright IBM Corp. 2016, 2021 4-1


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
• DevOps tools and software
https://www.ibm.com/cloud/devops
• IBM Cloud DevOps
https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-devops_intro
• Canary deployment with Jenkins and Istio
https://developer.ibm.com/tutorials/use-jenkins-and-istio-for-canary-deployment/
• Watch Cloud Pak for Integration - Continuous Deployment using Operators and OpenShift
Pipelines
https://www.ibm.com/demos/collection/Cloud-Pak-for-Integration/?lc=en
• What is Continuous Delivery?
https://www.youtube.com/watch?v=2TTU5BB-k9U
• Continuous Deployment vs Continuous Delivery
https://www.youtube.com/watch?v=LNLKZ4Rvk8w
• IBM Cloud Continuous Delivery
https://cloud.ibm.com/catalog/services/continuous-delivery
• Develop a Kubernetes app toolchain:
https://www.ibm.com/cloud/garage/toolchains/develop-kubernetes-app-toolchain
• Develop a Cloud Foundry app toolchain:
https://www.ibm.com/cloud/garage/toolchains/develop-cloud-foundry-app-toolchain
• Experience the Cloud made for DevOps
https://cloud.ibm.com/devops/getting-started
• Develop a Cloud Foundry app toolchain
https://www.ibm.com/cloud/garage/toolchains/develop-cloud-foundry-app-toolchain
• Git project
https://www.git-scm.com/

© Copyright IBM Corp. 2016, 2021 4-2


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Unit objectives • Describe DevOps.


• Describe the capabilities of IBM Cloud Continuous Delivery.
• Identify the web-based integrated development environment (Web
IDE) features in IBM Cloud Continuous Delivery.
• Describe how to use source code management (such as Git) and
Issue tracking.
• Explain how to build and deploy applications using DevOps tools on
IBM Cloud.

© Copyright IBM Corporation 2016, 2021

Figure 4-1. Unit objectives

© Copyright IBM Corp. 2016, 2021 4-3


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Topics • Introduction to DevOps


• DevOps services on IBM Cloud
• IBM Cloud Continuous Delivery overview
• Web IDE (Edit Code)
• Source Code Management (Git repository) and Issue Tracker
• Automated build and deployment (Delivery Pipeline)

© Copyright IBM Corporation 2016, 2021

Figure 4-2. Topics

© Copyright IBM Corp. 2016, 2021 4-4


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
4.1. Introduction to DevOps

© Copyright IBM Corp. 2016, 2021 4-5


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Introduction to
DevOps

Figure 4-3. Introduction to DevOps

© Copyright IBM Corp. 2016, 2021 4-6


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

What is DevOps

Watch the video: https://www.youtube.com/watch?v=UbtB4sMaaNM


Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-4. What is DevOps

Reference:
What is DevOps?
https://www.youtube.com/watch?v=UbtB4sMaaNM

© Copyright IBM Corp. 2016, 2021 4-7


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

What is DevOps? (cont.)

Software developer Computer operator

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-5. What is DevOps? (cont.)

Before DevOps, the following teams were responsible for code delivery:
• Development team: This team designed the code, delivered new features, fixed bugs, and
tested the code.
• Operations team: This team deployed the code to the different environments, maintained
production uptime, and diagnosed failures.
The process of delivering any business requirements from code to the production environment
was a tough process that took days to months to complete. It might have taken a year or more to
plan for major changes to the software. Both the development and operation teams focused on
their tasks separately without involving the other team, which caused bottlenecks and
miscommunication between the two teams. This process led to a delayed delivery of the business
requirements and made it hard to maintain competitive parity with competitors.
The term DevOps comes from merging the words development and operations. With DevOps, both
teams work together to support the software lifecycle, from code design to deployment to
production. Automation plays a great role in DevOps to make the collaboration easy.
A developer can use DevOps processes, automation, and other tools to automate the build
process, code testing, deployment to the different environments, and monitoring. It is an active
and continuous task to keep the automation, pipelines, and other entities in this realm up to date
and improve them. DevOps allows organizations to deliver products that are better and easier to
maintain, and that can be delivered faster to the market.
Reference:
DevOps For Dummies®, Third IBM Limited Edition, Chapter 1
https://www.ibm.com/downloads/cas/P9NYOK3B

© Copyright IBM Corp. 2016, 2021 4-8


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Software lifecycle for applying DevOps practices


Continuous
Business Planning

Continuous
Customer Feedback Collaborative
& Optimization Plan Development

Monitor/
DevOps Develop/
Operate Continuous Test
Feedback
Continuous Continuous
Monitoring Testing
Deploy

Continuous Release
and Deployment

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-6. Software lifecycle for applying DevOps practices

The slide shows the software lifecycle for applying DevOps practices:
1. Planning: In this phase, the team is responsible of defining the business requirements, and
then defining the required resources and timeline (sprint planning and releases).
2. Development and testing: This phase is the main implementation phase that may be divided
into different sprints under different releases in agile development. Automated and
continuous test management occurs by using integrated tools.
3. Deployment: This phase is when you deliver the software to the client by deploying it to the
production environment. This phase is tightly linked with both development, testing, and
monitoring because of the DevOps focus on continuous and rapid delivery with automated
deployment.
4. Monitoring: After deploying the application to production, the quality of the application is
being analyzed to capture the enhancements and fixes for the delivered application in the
monitoring phase. This phase helps to identify issues and to provide early warnings and
feedback to the next planning and development cycles.

© Copyright IBM Corp. 2016, 2021 4-9


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

DevOps practices
• Continuous improvement
• Release planning
• Continuous integration
• Continuous delivery
• Continuous testing
• Continuous monitoring and feedback

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-7. DevOps practices

• Continuous improvement (continuous operations) for the operation processes is considered an


important goal for organizations. Many businesses have process improvement teams that
work on improving processes based on observations and lessons learned. Other businesses
allow the teams that adopt the processes to self-assess and determine their own process
improvement paths.
• Release planning (continuous business planning) is a critical business function that is driven
by business needs to offer capabilities to customers and the timelines of these needs.
Well-defined processes and automation enable frequent releases with better quality.
• Continuous integration enables developers to integrate their code frequently in an agile
manner, which reduces risk and identifies issues earlier in the software development lifecycle.
• Continuous delivery is achievable by automating the deployment of software to the testing,
system testing, staging, and production environments. Continuous integration leads to the
practice of continuous delivery, which helps the business to receive frequent feedback and
deliver frequent updates to maintain competitive parity. Automated builds, tests, and
deployments are required for a continuous delivery pipeline.
• Continuous testing is achieved by using automated unit testing and integration testing, which
increase the quality and the speed of development. Continuous testing must cover the
following areas: test environment provisioning and configuration, test data management and
test integration, function, performance, and security.
• Continuous monitoring and feedback are available because of continuous delivery. This
frequent feedback is captured by using well-defined processes. These processes must be
agile enough to adapt to market and regulatory changes.

© Copyright IBM Corp. 2016, 2021 4-10


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
Reference:
DevOps For Dummies®, Third IBM Limited Edition, Chapter 3
https://www.ibm.com/downloads/cas/P9NYOK3B

© Copyright IBM Corp. 2016, 2021 4-11


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

DevOps tools and software solutions

• Continuous delivery • Intelligent IT operations


IBM UrbanCode ƒ AI tools
ƒ IBM Cloud Pak for Watson AIOps
• Software and release testing
Process of evaluating and verifying that a software • DevOps practices
product or application does what it is supposed to IBM Garage methods
do.
• Cloud-native DevOps
• Application performance management
Continuous delivery
IBM Cloud App management

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-8. DevOps tools and software solutions

This slide introduces some tools and practices around DevOps, testing, and application
performance management:
• Continuous delivery
Use the right DevOps tools to release applications more often and with higher quality. For
more information, see IBM UrbanCode at https://www.ibm.com/cloud/urbancode.
• Software and release testing
Test earlier in the DevOps software process with production-like environments to help
eliminate bottlenecks. For more information, see Software testing at
https://www.ibm.com/topics/software-testing.
• Application performance management
Monitor application transformation from on-premises to hybrid and multicloud deployments.
For more information, see Application Performance Management at
https://www.ibm.com/cloud/learn/application-performance-management?mhsrc=ibmsearch
_a&mhq=application%20performance%20management.
• Intelligent IT operations
Modernize IT operations management with AI and hybrid deployment options. Learn About
AIOps tools at https://www.ibm.com/cloud/cloud-pak-for-watson-aiops. Other tools that
were acquired by IBM are:
▪ Instana: https://www.instana.com/
▪ Turbonomics: https://www.turbonomic.com/

© Copyright IBM Corp. 2016, 2021 4-12


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
• DevOps practices
Employ industry practices for agile development and continuous delivery. Explore IBM Garage
Methodology at https://www.ibm.com/garage/method.
• Cloud-native DevOps
Build, test, and deploy new apps on the IBM Cloud® with DevOps tools and practices. Learn
about continuous delivery at https://www.ibm.com/cloud/continuous-delivery.
Reference:
DevOps tools and software
https://www.ibm.com/cloud/devops

© Copyright IBM Corp. 2016, 2021 4-13


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

IBM Cloud Garage Method

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-9. IBM Cloud Garage Method

IBM Cloud Garage Method is a set of practices that can speed up DevOps adoption by providing
how-to guides on culture, best practices, tools, self-guided or hands-on training, and even sample
code and reference architectures. Its practices are the IBM approach to enable business,
development, and operations to design, deliver, and validate continuously new solutions. The
practices and workflows cover the entire product lifecycle from inception through capturing and
responding to customer feedback and market changes.
The practices are summarized as follows:
Culture
Culture is key to the success of the modern software development transformation such as agile
methodology, which is an iterative method of development where the development lifecycle
progresses through the collaboration between self-organizing, cross-functional teams. The
culture must support small and collocated teams that are autonomous and able to make
decisions that are based on efficiency and knowledge.
Discover
Discover practices help teams to dig deep into problem domains, align everyone to common
goals, and identify potential problems and bottlenecks.
Think
Think practices provide development teams with a repeatable approach to deliver rapidly
innovative user experiences. To deliver a minimum viable product (MVP), teams must understand
the user and identify the highest priority items.

© Copyright IBM Corp. 2016, 2021 4-14


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
Develop
Adopt DevOps development practices to help the team collaborate and produce high-quality code
that can be confidently delivered to production. Many teams use pair programming to ensure
real-time code review with the added advantage of cross-training the development team.
Reason
Build a solid information architecture and extract, cleanse, and curate data so that data can be
turned into knowledge, regardless of the source of the data.
Operate
Ensure operational excellence by continuously monitoring app status and performance. Focus on
building automation that enables high availability (HA) and resiliency while reducing the cost of
the supporting infrastructure and the necessary resources to manage apps in production.
Learn
Learn from your customers and make better decisions. Learn how your team works together and
how customers use the apps that you deliver by studying analytics data.
References
• DevOps tools and software
https://www.ibm.com/cloud/devops/get-started
• IBM Garage Methodology
https://www.ibm.com/cloud/garage/practices/overview
• IBM Cloud DevOps
https://cloud.ibm.com/docs/services/ContinuousDelivery?topic=ContinuousDelivery-devops
_intro

© Copyright IBM Corp. 2016, 2021 4-15


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Benefits of DevOps

From code to production Accelerate app delivery


in minutes

Deploy with confidence


Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-10. Benefits of DevOps

DevOps provides many benefits:


• From code to production in minutes: Work on your own or use the collaboration tools to work
with a team. In minutes, you can go from source code to a running app.
• Accelerate app delivery: Innovate like a startup, and scale for the enterprise. You can host an
open-source project, run a hackathon, or start a skunkworks project. Plan anything, even
monthly meetings. DevOps code is continuously delivered and integrated into the main shared
repository.
• Deploy with confidence:
▪ Use the repeatability of the process by using automation, which ensures that the same
steps are done every time that you deploy.
▪ Use automated testing as a quality gate before deploying code to a specific environment,
or in some cases, to enable the monitoring or testing of the code in a live environment. In
many other cases, automated tests can be applied in the development phase before
delivering code to source code repositories.

© Copyright IBM Corp. 2016, 2021 4-16


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Deployment strategies
• Blue/green deployment
• Canary deployment
• A/B testing

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-11. Deployment strategies

Due to DevOps practices and agile methodologies, some new techniques to deploy new
applications to production appeared recently, such as:
• Blue/green deployment
• Canary deployment
• A/B testing
There are many tools that are provided by IBM to apply these strategies, such as IBM UrbanCode
Deploy, IBM Cloud Kubernetes Service, Istio, and Jenkins.
For more information, see the following tutorials:
• Canary deployment with Jenkins and Istio
https://developer.ibm.com/tutorials/use-jenkins-and-istio-for-canary-deployment/
• Watch Cloud Pak for Integration > Continuous Deployment using Operators and OpenShift
Pipelines
https://www.ibm.com/demos/collection/Cloud-Pak-for-Integration/?lc=en

© Copyright IBM Corp. 2016, 2021 4-17


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Deployment strategies: Blue/green deployment

Databases Databases

Servers Servers Servers Servers

Traffic Traffic

Load Load
balancer balancer

Client Client

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-12. Deployment strategies: Blue/green deployment

Blue/green deployment
1. Deploy an instance of your updated application “green” while leaving the production or old
environment “blue” as is.
2. Run smoke tests on the new environment “green” to verify that it is working.
3. Switch over the production traffic while keeping the old environment as a hot backup.
The new environment should point to the same database and use the same data set to avoid data
loss or inconsistency.
The slide shows how the blue/green deployment strategies are applied and how the traffic is
switched from the old “blue” environment to the new “green” environment.

© Copyright IBM Corp. 2016, 2021 4-18


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Deployment strategies: Canary deployment

Databases Databases

Servers Servers Servers Servers

100% 0% 90% 10%


Traffic Traffic Traffic Traffic

Load Load
balancer balancer

Client Client

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-13. Deployment strategies: Canary deployment

Canary deployment
1. Deploy an instance of your application, and split the traffic based on the weight between the
old and the new environment.
2. Run smoke tests on the new environment to verify that it is working.
3. Gradually shift production traffic from the old environment to the new one.
Like blue/green deployment, the two environments point to the same database and use the same
data set to avoid data loss or inconsistency.
The slide shows how to split the traffic in the canary deployment. In this example, the old servers
start by handling all the traffic, and then gradually the traffic is shifted from the old to the new
servers.

© Copyright IBM Corp. 2016, 2021 4-19


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Deployment strategies: A/B testing


Databases

Servers Servers

Web Mobile
traffic traffic
Load
balancer

Web client Mobile client

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-14. Deployment strategies: A/B testing

A/B testing
In this strategy, you route a subset of users to a new version because of marketing strategies. This
strategy is used to test various versions and determine which ones to keep and which ones to roll
out.
This slide shows an example of the A/B testing strategy. In this example, the mobile requests are
switched to target the new environment and the web requests keep targeting the old
environment.

© Copyright IBM Corp. 2016, 2021 4-20


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
4.2. DevOps services on IBM Cloud

© Copyright IBM Corp. 2016, 2021 4-21


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

DevOps services on
IBM Cloud

Figure 4-15. DevOps services on IBM Cloud

© Copyright IBM Corp. 2016, 2021 4-22


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

DevOps services on IBM Cloud


• Developer tools

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-16. DevOps services on IBM Cloud

DevOps on IBM Cloud provides concrete practices and architectures for cloud development. It
enables developers to get started quickly with new projects from the rich catalog of services on
IBM Cloud. DevOps also provides developers an open and integrated set of tools for automating
delivery with speed and control. These services are available on the IBM Cloud Catalog under the
Developer Tools section.
Here are examples of the DevOps services that are available on IBM Cloud:
Auto-Scaling
The Auto-Scaling for IBM Cloud service enables the compute capacity of the applications to be
automatically increased or decreased as demands on the application change. The number of
application instances are adjusted dynamically based on the Auto-Scaling policy that is defined by
the developer.
Continuous Delivery
Automate builds, unit tests, deployments, and more. Edit and push code by using Git repos, Issue
Tracking, and the rich web-based IDE. Create toolchains to enable tool integrations that support
the development, deployment, and operation tasks. This service is explained in more detail in the
next section.
DevOps Insights
DevOps Insights provides comprehensive insights from popular continuous integration and
continuous delivery tools to increase the speed and control of the application delivery. View the
pipeline test results for every build and from every deployment and environment. Create policies
to ensure that only quality code is delivered to production, and review trends to understand
improvements over time.

© Copyright IBM Corp. 2016, 2021 4-23


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
Event Management
Restore service and resolve operational incidents fast. Empower the DevOps teams to correlate
different sources of events into actionable incidents, synchronize teams, and automate incident
resolution. The service sets you on course to achieve efficient and reliable operational health,
service quality, and continuous improvement.
IBM Globalization Pipeline
IBM Globalization Pipeline is a DevOps integrated application conversion management service
that users can use to convert and release rapidly cloud and mobile applications to their global
customers. IBM Globalization Pipeline capabilities are accessible through its dashboard, a
RESTful API, or by integrating it seamlessly into the application's Delivery Pipeline.
Monitoring
Provides insight into how the apps are performing and consuming resources. Quickly identifies
trends and detects and diagnoses problems with immediate time to value and low total cost of
ownership (TCO).
Toolchain
A toolchain is a set of integrated tools for development, deployment, and monitoring. This service
is explained in more detail in the next section.
There are also third-party DevOps services that are available, such as IBM Cloud Activity Tracker
with LogDNA, IBM Cloud Monitoring with Sysdig, IBM Log Analysis with LogDNA, Mendix Platform
Service, and PagerDuty.

© Copyright IBM Corp. 2016, 2021 4-24


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
4.3. IBM Cloud Continuous Delivery overview

© Copyright IBM Corp. 2016, 2021 4-25


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

IBM Cloud
Continuous Delivery
overview

Figure 4-17. IBM Cloud Continuous Delivery overview

© Copyright IBM Corp. 2016, 2021 4-26


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

What is continuous delivery?


• Watch the video: https://www.youtube.com/watch?v=2TTU5BB-k9U

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-18. What is continuous delivery?

Reference:
What is Continuous Delivery?
https://www.youtube.com/watch?v=2TTU5BB-k9U

© Copyright IBM Corp. 2016, 2021 4-27


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Continuous deployment versus continuous delivery


• Watch the video at https://www.youtube.com/watch?v=LNLKZ4Rvk8w

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-19. Continuous deployment versus continuous delivery

Reference:
Continuous Deployment vs Continuous Delivery
https://www.youtube.com/watch?v=LNLKZ4Rvk8w

© Copyright IBM Corp. 2016, 2021 4-28


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

What is IBM Cloud Continuous Delivery?


IBM Cloud Continuous Delivery provides capabilities,
practices, and industry-leading tools:
• Create open and integrated toolchains that support your development, deployment, and
operations tasks.
• Use automated pipelines to deliver continuously.
• Use the Web IDE to edit and push your code from anywhere.
• Collaborate with your team by using the Git repository and Issue Tracker.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-20. What is IBM Cloud Continuous Delivery?

DevOps is a software methodology that integrates application development and IT operations so


that teams can deliver code faster to production and iterate continuously based on market
feedback. Although the IBM Cloud catalog provides multiple tools for DevOps, this unit is focused
on IBM Cloud Continuous Delivery.
By using IBM Continuous Delivery, you can build, test, and deliver applications by using DevOps
practices and industry-leading tools.
The IBM Continuous Delivery service supports your DevOps workflows with the following
capabilities:
• Create open and integrated DevOps toolchains to enable tool integrations that support your
development, deployment, and operations tasks. A toolchain is an integrated set of tools that
you can use to develop, build, deploy, test, and manage collaboratively applications, and make
operations repeatable and easier to manage. Toolchains can include open-source tools, IBM
Cloud services, such as IBM® Cloud DevOps Insights, and third-party tools, such as PagerDuty,
Sauce Labs, and Slack.
• Deliver continuously by using automated pipelines. Automate builds, unit tests, deployments,
and more. Build, test, and deploy in a repeatable way with minimal human intervention. Be
ready to release into production at any time.
• Edit and push your code from anywhere by using the web-based IDE. Create, edit, run, debug,
and complete source-control tasks in Git. Seamlessly move from editing your code to
deploying it to production.

© Copyright IBM Corp. 2016, 2021 4-29


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
• Collaborate with your team and manage your source code with a Git repository (repos) and
Issue Tracker that is hosted by IBM and built on GitLab Community Edition. Manage Git repos
through fine-grained access controls that keep code secure. Review code and enhance
collaboration through merge requests. Track issues and share ideas through the Issue
Tracker. Document projects on the wiki system.
To have a healthy toolchain, it must meet the needs of your development pipeline. So, developers
must include tools for the following items:
• Planning and collaboration, such as project management tools and communication tools like
Slack
• Source control tools like Git
• Tracking and escalating tools like Issue Tracking (GitLab)
• Continuous integration
• Monitoring tools
• Testing and automation tools
• Deployment tools
For more information, see IBM Cloud Continuous Delivery at
https://cloud.ibm.com/catalog/services/continuous-delivery.
For more information about how to create an open toolchain, which includes the minimum tools
that you need to develop and deploy a "Hello World" app (including Git repos and Issue Tracking),
see the following resources:
• Develop a Kubernetes app toolchain:
https://www.ibm.com/cloud/garage/toolchains/develop-kubernetes-app-toolchain
• Develop a Cloud Foundry app toolchain:
https://www.ibm.com/cloud/garage/toolchains/develop-cloud-foundry-app-toolchain

© Copyright IBM Corp. 2016, 2021 4-30


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Toolchain templates

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-21. Toolchain templates

• A toolchain is a set of tool integrations that supports development, deployment, and


operations tasks. The collective power of a toolchain is greater than the sum of its individual
tool integrations.
• Open toolchains are available in the Public and Dedicated environments on IBM Cloud. You
can create a toolchain in two ways:
▪ Use a template to create a toolchain.
▪ Create a toolchain from an app.
• IBM Cloud provides the most used DevOps patterns as toolchain templates, which can be
easily extended. You can select any template of the available ones and add more tool
integrations to the template as needed. You also can create a custom toolchain by using the
“Build your own toolchain” template.
Reference
Experience the Cloud made for DevOps
https://cloud.ibm.com/devops/getting-started

© Copyright IBM Corp. 2016, 2021 4-31


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

IBM Cloud Continuous Delivery tools

Web IDE (Edit Code) Source Code Management


(Git Repo) and Issue Tracker

Automated build and deployment


(Delivery Pipeline)
Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-22. IBM Cloud Continuous Delivery tools

IBM Cloud Continuous Delivery provides the following tools:


• Web IDE: You can develop your code (for example, Node.js, Java, or other languages) in the
Web IDE. No software other than your web browser is necessary. The Web IDE saves your
current work in a cloud-based file directory, which is known as the local repository. IBM Cloud
provides Eclipse Orion as the Web IDE. You can also use a desktop IDE, such as Eclipse with
DevOps services.
• Source control management (Git repository) and Issue Tracker: IBM Cloud Continuous
Delivery creates a Git repository as a change management system. The local repository is a
copy of your latest edits before you submit your work to an SCM system. The Git repository,
which is known as the remote repository, is hosted on the IBM Cloud infrastructure. Issue
Tracker is part of the functions of the Git Repo; it tracks your work, including defects,
enhancements, and tasks.
• Delivery Pipeline: This tool automates the process of building and deploying your code as an
IBM Cloud application. You can also configure the build, deploy, or test scripts within the Web
IDE.

© Copyright IBM Corp. 2016, 2021 4-32


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Adding IBM Continuous Delivery


To add IBM Continuous Delivery to your application, complete the
following steps:
1. In the IBM Cloud resource list, select your application.
2. Click Overview in the left navigation bar.
3. In the Continuous Delivery pane, click Enable continuous delivery.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-23. Adding IBM Continuous Delivery

After you enable IBM Continuous Delivery for your app, a new tab opens to configure IBM
Continuous Delivery Toolchains.

© Copyright IBM Corp. 2016, 2021 4-33


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Creating IBM Continuous Delivery Toolchains

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-24. Creating IBM Continuous Delivery Toolchains

A toolchain is a set of tool integrations that supports development, deployment, and operations
tasks.
The UI to create a toolchain groups the tools into the following phases:
• THINK: This phase is for planning the application by creating ideas, tasks, or bugs by using the
Issue Tracker, which is part of the Git repository.
• CODE: This phase is for the implementation of the application by providing a Git repository as
a source code management (SCM) system, and a Web IDE (Eclipse Orion) to edit your code
online. In the repository, you can specify whether to clone a repository or start from scratch by
selecting New in the repository type.
• DELIVER: This phase is for configuring the delivery pipeline. By using it, you can specify
automatic build, deployment, and testing of your code after a developer pushes new code to
the Git repository.
• RUN: The output of this phase is to run the application in the IBM Cloud environment.
For more information, see Develop a Cloud Foundry app toolchain at
https://www.ibm.com/cloud/garage/toolchains/develop-cloud-foundry-app-toolchain.

© Copyright IBM Corp. 2016, 2021 4-34


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Adding tools to the toolchain

You can add tools into your continuous delivery toolchain.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-25. Adding tools to the toolchain

To add tools, click Add a Tool from within a toolchain. With this feature, you have the flexibility to
integrate and add tools or services to your toolchain, such as Alert Notifications, Availability
Monitoring, DevOps insights, or many of the other DevOps services that are available on IBM
Cloud (some of these services are explained in the next slide).

© Copyright IBM Corp. 2016, 2021 4-35


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Adding tool integration to a toolchain


The collective power of a toolchain is greater than the sum of its individual tool integrations.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-26. Adding tool integration to a toolchain

The collective power of a toolchain is greater than the sum of its individual tool integrations.
In the Tool Integrations section, select each tool integration that you want to configure for your
toolchain. Consider the following examples:
• If you configure Sauce Labs, the toolchain is set up to enable adding Sauce Labs, which you
can use to add test jobs to the pipelines.
• If you configure PagerDuty, the toolchain is set up to send alert notifications to the specified
PagerDuty service when a major issue occurs.
• If you configure Slack, the toolchain is set up to send notifications to the specified Slack
channel.
• If you configure a source code tool integration, such as GitHub, the sample repo can be cloned
or forked (for example) into your GitHub account.

© Copyright IBM Corp. 2016, 2021 4-36


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
4.4. Web IDE (Edit Code)

© Copyright IBM Corp. 2016, 2021 4-37


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Web IDE (Edit Code)

Orion

Figure 4-27. Web IDE (Edit Code)

© Copyright IBM Corp. 2016, 2021 4-38


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Web IDE: Edit code features


• Web IDE:
ƒ Eclipse Orion.
ƒ No installations. Start coding now.
• IBM Cloud Live Sync for Node.js apps:
ƒ Live Edit.
ƒ Debug. WEB IDE

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-28. Web IDE: Edit code features

The Web IDE features in IBM Cloud Continuous Delivery provide the following capabilities:
• Uses Eclipse Orion Web IDE.
• No installations are required. Use a browser to code.
• The Edit Code feature provides a workspace to develop source code and configuration files.
• Full-featured environment for writing your application code by using your web browser.
• Rich code completion capabilities for CSS, HTML, and JavaScript.
• Deploy, stop, and run applications from the Run bar.
• View the logs from the Run bar.
IBM Cloud Live Sync features (at the time writing, they are available for Node.js applications only):
• Live Edit: You can change your application from the Web IDE without redeploying it.
• Debug: When a Node.js application is in Live Edit mode, you can “shell” into it and debug it.
You can edit code dynamically, insert breakpoints, step through code, restart the runtime, and
do other actions by using the Node Inspector debugger.

© Copyright IBM Corp. 2016, 2021 4-39


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Web-based integrated development environment

Project Navigator displays the Enable Live Edit and Debug Tools for Node.js
contents of the user directory for the applications.
application.

1 3

Review and edit project artifacts from


2 your web browser.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-29. Web-based integrated development environment

The Edit Code perspective for Eclipse Orion Web IDE is shown in this slide.
When you select a file, the editor displays the contents on the right side of the page. You can edit
source code, configuration files, and other artifacts directly within your web browser.
This view is for your local workspace on IBM Cloud. To commit the code changes, switch to the
GIT view, which is described in the next section.

© Copyright IBM Corp. 2016, 2021 4-40


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Editing source code


• The Eclipse Orion editor on IBM Cloud provides a fully featured environment for writing your
application in your web browser.
• The editor parses source code for Node.js, Java, Python, and Markdown documents.
• The editor provides real-time validation and syntax checking.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-30. Editing source code

When you open a Node.js script file, the editor provides real-time validation and syntax checking
of the source code. It uses tools, such as JSHint, which is a JavaScript code quality tool that helps
detect errors and potential problems in the code. A preview window flags warnings and errors.

© Copyright IBM Corp. 2016, 2021 4-41


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Editor features: Code completion


• The code completion feature suggests functions and parameters in the editor:
• This feature dynamically displays all available libraries at the cursor point.
• Press Ctrl + Spacebar to activate the code completion menu.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-31. Editor features: Code completion

To use the code completion shortcut, place your cursor within the editor and press Ctrl +
Spacebar. This feature displays the libraries that are available at the cursor point, including
third-party modules that you imported in the script. For example, as shown in the slide, the code
completion feature displays functions and templates for the Express web application framework
for Node.js because this point is the cursor point.
You can use templates to add blocks of code for common tasks, such as error handling or object
creation.

© Copyright IBM Corp. 2016, 2021 4-42


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Editor features: Run bar


• You can deploy applications from the Run bar directly from the Web IDE.

1 2 3 4 5 6

1.The status area shows which 2. Click Play to deploy the 4.Open the deployed app.
launch configuration is app.
5.Open the logs.
selected, and the deployment
3. Click Stop to stop the
status. 6.Open the App Overview page.
application.

• Click Play to deploy the code in the current state of your workspace.
• To deploy only the changes that you checked in to the repository, use Delivery Pipeline.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-32. Editor features: Run bar

You can quickly build and deploy your application to a test environment on IBM Cloud without
committing your code to the Git repository. The following features are highlighted in the slide:
1. The status area displays the launch configuration that the run bar uses during the build and
deploy task.
2. Click the Play icon from the Run bar to build and deploy the code in your user directory to your
IBM Cloud account.
3. Click the Stop icon to stop the application.
4. Click the Open Deployed App icon to open the application route.
5. Click the Open Logs icon to open application logs.
6. Click the Access icon to access the dashboard from the same bar.

© Copyright IBM Corp. 2016, 2021 4-43


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

IBM Cloud Live Sync features


If you are building a Node.js application, you can change your application on IBM Cloud as you
would on the desktop without needing to redeploy it.

Live edit mode


for Node.js
apps only Your running
Node.js application
Cloud
Workspace
IBM Cloud Debugging
Live Sync with IBM Cloud

Edit in place

Web IDE Node Inspector

Live Edit Feature Debug Feature

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-33. IBM Cloud Live Sync features

If you are building a Node.js application, you can use IBM Cloud Live Sync to update quickly the
application instance on IBM Cloud and develop without redeploying.
When you make a change, you can see that change in your running IBM Cloud application
immediately (without the need to recompile and redeploy).
IBM Cloud Live Sync works from the Web IDE and consists of the following features for Node.js
applications:
• Live Edit
You can change a Node.js application that is running in IBM Cloud and test it in your browser
immediately. Any changes that you make in a synchronized desktop directory or in the Web
IDE are instantly propagated to the application’s file system.
• Debug
When a Node.js application is in Live Edit mode, you can debug it on the Web IDE. You can edit
code dynamically, insert breakpoints, step through code, restart the runtime, and do other
actions.

Note

To use debug features, you must use the Chrome browser and Node.js V4 because IBM Cloud Live
Sync Debug uses Node Inspector to provide debug features, which are not available in the later
versions of Node.js.

© Copyright IBM Corp. 2016, 2021 4-44


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
4.5. Source Code Management (Git repository)
and Issue Tracker

© Copyright IBM Corp. 2016, 2021 4-45


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Source Code
Management (Git
repository) and
Issue Tracker

Figure 4-34. Source Code Management (Git repository) and Issue Tracker

© Copyright IBM Corp. 2016, 2021 4-46


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Git repository and Issue Tracker


• Collaborate with your team and manage your source code with a Git repository (repo) and
Issue Tracker that is hosted by IBM and built on GitLab Community Edition.
• The Git Repos and Issue Tracking tool integration supports teams to manage code and
collaborate in many ways:
ƒ Manage Git repositories through fine-grained access controls that keep code secure.
ƒ Review code and enhance collaboration through merge requests.
ƒ Track issues and share ideas through the issue tracker.
ƒ Document projects on the wiki system.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-35. Git repository and Issue Tracker

© Copyright IBM Corp. 2016, 2021 4-47


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Source control with a Git repository


• When you enable continuous delivery for an application, a Git repository is created to manage
your source code.
• When you develop your application online, you can enter common Git commands through the
Web IDE.
• If you develop your application on your own workstation, use a Git client to synchronize your
own workspace and push your changes to the Git repository.
• For more information, see the open source Git project at this website:
ƒ http://www.git-scm.com/

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-36. Source control with a Git repository

By default, enabling continuous delivery for an application creates a continuous delivery toolchain
for your application. This toolchain includes a Git repository that is based on GitLab. Git is an
open-source change management system. GitLab is the web-based Git repository. GitHub is
another example of a web-based Git repository.
The Git repository perspective in the Web IDE supports common Git commands to manage your
code. You can also develop your application on your own workstation and commit your changes to
the Git repository with a standard Git client.
For more information, see the open-source Git project at https://www.git-scm.com/.

© Copyright IBM Corp. 2016, 2021 4-48


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Git repository overview from Web IDE


1 Switch to Git from the navigation bar.

Select files to commit in the


4
Working Directory Changes pane.

5
Commit the
changes to your
local repository.
Push the committed 6
changes to the
remote repository.

Review the
commit history
and comments.
Review the changes that
3
were completed.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-37. Git repository overview from Web IDE

The numbers that are shown in the slide correspond to the following steps:
1. Switch to the Git perspective from the navigation bar on the left side of the Web IDE.
2. You can review the commit history with the time and date for each commit. You can perform
actions for each commit, such as view the files that are committed and revert changes that
were introduced by any commit.
3. The Working Directory Changes pane detects any updated files in the user directory. Click a
file to review the changes that were made in that file.
4. Select the files that you want to commit and add a descriptive comment about the change.
5. Click Commit to commit the changes to your local repository.
6. The Outgoing pane lists the files that you want to commit to the remote repository. View the
outgoing changes, and then click Push to push the committed changes to the remote
repository.
If another user updated the files in the remote repository, the Incoming pane lists the updated
files.

© Copyright IBM Corp. 2016, 2021 4-49


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Connecting a Git client to your repository on IBM Cloud


• If you want to develop your application on your own workstation, use a Git client to save your
changes to the Git repository that is provided by IBM Cloud Continuous Delivery.
• Issue the git clone command with the Git repository address to retrieve a copy of the source
code in the remote repository:
git clone https://github.com/IBM-Cloud/get-started-node.git

• Issue the status command to check whether your local copy is synchronized with the remote
repository:
git status

• Issue the commit and push commands to push changes from the local repository to the
remote repository:

git add -A
git commit –m 'Adding application description.'
git push

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-38. Connecting a Git client to your repository on IBM Cloud

You can still develop your application on your own local workstation.
If you do not have a Git client that is installed, download and install the latest version of the Git
client from https://git-scm.com/downloads. To verify that the installation is successful, issue the
git –version command from the CLI.
To find the URL of the Git repository that is associated with your application, click View toolchain
from the Application Details and then click Git.
Retrieve a copy of the IBM Cloud application source code by using the git clone command. Issue
git clone $git-URL on your command-line interface (CLI). After you have a copy of the source
code, use a text editor or IDE to write and test your application.
To check whether another developer on your team updated the source code, run the git status
command.
To save the updated source code, run the git add command to stage the files to be committed.
Run the git commit command and enter a message for the history log to commit all the added
files to your local repository.
Run the git push command to send your committed changes to the remote repository.

© Copyright IBM Corp. 2016, 2021 4-50


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Issue Tracker tool


• IBM Cloud Continuous Delivery toolchain includes a tool to track issues.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-39. Issue Tracker tool

The Issue Tracker tool is used to track items (issues) that require resolution or improvements in a
project.
Issues can be bugs, tasks, or ideas to be discussed. Also, issues are searchable and filterable.

© Copyright IBM Corp. 2016, 2021 4-51


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Creating an issue
• To create a bug or task, click New issue.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-40. Creating an issue

Complete the form that is shown in the slide. Then, click Submit issue to create the bug or task.

© Copyright IBM Corp. 2016, 2021 4-52


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
4.6. Automated build and deployment (Delivery
Pipeline)

© Copyright IBM Corp. 2016, 2021 4-53


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Automated build
and deployment
(Delivery Pipeline)

Figure 4-41. Automated build and deployment (Delivery Pipeline)

© Copyright IBM Corp. 2016, 2021 4-54


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Delivery Pipeline
• IBM Cloud Continuous Delivery runs the build and deploy scripts when either of the following
conditions occur:
ƒ When you commit your changes to the remote Git repository if this function is configured to be
triggered automatically.
ƒ When you click Play from the run bar.
• Jobs (Build, Deploy, and Test) are grouped into stages.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-42. Delivery Pipeline

By default, IBM Cloud Continuous Delivery automatically runs the build and deploy tasks when
you commit changes to the Git repository. The pipeline also features a "run" icon that runs a stage
of the pipeline but runs on only committed code or builds, depending on the stage.
You can access the Continuous Delivery toolchain by clicking View toolchain from the Application
Details page. To browse the Delivery Pipeline (or any other tool), click its tool card in the toolchain
overview page.
Jobs (Build, Deploy, and Test) are grouped into stages. You can change the order of the stages by
dragging them.

© Copyright IBM Corp. 2016, 2021 4-55


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Customizing Delivery Pipeline


• When you commit changes to the Git repository, Delivery Pipeline pushes out the changes to
your IBM Cloud application. Edit the delivery pipeline to customize the deployment tasks that
run when you commit your changes.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-43. Customizing Delivery Pipeline

You can customize Delivery Pipeline in multiple stages and multiple jobs within a stage:
• Create multiple stages that deploy code to the testing, staging, and production environments.
• Add jobs within a stage to run automated tests of your code.
You can configure each stage to include one or more jobs (Build, Deploy, and Test). You can also
configure a stage to include more than one job of the same type. For example, you can have a
stage that features one Build job, one Deploy job, and two Test jobs.

© Copyright IBM Corp. 2016, 2021 4-56


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Example: Default delivery pipeline

2 3

1. The default delivery pipeline takes


the files that are pushed to the 3. The deploy stage by default
remote Git repository. contains a deploy job that deploys
2. The build stage by default contains a the built application to your IBM
build job that builds the code Cloud space.
artifact.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-44. Example: Default delivery pipeline

The default build script is simple: It takes the files that are pushed to the remote Git repository
and triggers IBM Cloud to build your code in the server runtime.
You can customize the settings for the server runtime through the manifest.yml file.
After the build stage completes successfully, the deploy stage runs. Delivery Pipeline deploys the
built files to your IBM Cloud space.

© Copyright IBM Corp. 2016, 2021 4-57


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Configuring the build stage

By default, the build stage is


configured to run when a client
1
pushes any changes to the master
branch in
the remote Git repository.

It is not necessary for you to run the


2 build stage manually. However, you
can disable automatic builds by using
the State Trigger setting.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-45. Configuring the build stage

By default, Delivery Pipeline runs the build stage when a client pushes any change to the master
branch in the remote Git repository.
If you do not want to automatically push your changes to your IBM Cloud account, change the
State trigger setting to Run jobs only when this stage is run manually.

© Copyright IBM Corp. 2016, 2021 4-58


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Configuring build jobs

You can add multiple Build,


Test, and Deploy jobs to a
particular stage.

The simple build type runs


the appropriate build scripts
for your runtime
environment.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-46. Configuring build jobs

You can extend the features of the build stage by adding jobs. Although by default Delivery
Pipeline names this stage configuration the Build Stage, you can add build, test, or deploy jobs.
At the time of writing, Builder Type supports the following types:
• Simple
• Ant
• Container Registry
• Custom Docker Image
• Gradle
• Gradle (Artifactory, Nexus, or SonarQube)
• Grunt
• Maven
• Maven (Artifactory, Nexus, or SonarQube)
• npm
• npm (Artifactory or Nexus)
• Shell Script
The simple build type runs the appropriate build scripts for your runtime environment. For
example, the IBM SDK for Node.js runtime resolves modules that your application requires.

© Copyright IBM Corp. 2016, 2021 4-59


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Configuring deploy jobs

The Deployer type provides the option to


1
deploy the application either to Cloud Foundry
servers or to Kubernetes clusters.

2 Specify a Cloud Foundry provider as the target;


for example, one of the IBM Cloud regions.

You can clone this deploy job and specify other


3
environments in your account.

You can customize the exact Cloud Foundry CLI


4 commands in the deploy process in the Deploy
script section.
Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-47. Configuring deploy jobs

In this example, you create a deploy task that pushes the application to a specific space on IBM
Cloud.
The following Deployer Types are available:
• Cloud Foundry: Deploys applications to Cloud Foundry servers. This type is the default
deployer type for the deploy job.
• Kubernetes: Deploys applications to Kubernetes clusters, such as those found within the IBM
Cloud Kubernetes Service.
• Custom Docker Image: Deploy by using your custom Docker image with fine-grained control
over the versions of node, Java, or other tools.
In this example, your application is pushed to the development space in your organization. You
can also publish your application to your staging and production spaces.
You can customize the Cloud Foundry CLI commands (cf CLI) in the deploy process in the Deploy
Script section. The default deploy action is equivalent to running the cf push command from the
CLI. You also can add custom shell script commands. (${CF_APP} in the slide refers to the
application name).

© Copyright IBM Corp. 2016, 2021 4-60


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Configuring test jobs

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-48. Configuring test jobs

After the deploy job is completed, you can add and configure a test job to test your deployed
application.
The following Tester types are available:
• Simple
• Custom Docker Image
• DevOps Insights Gate (DEPRECATED)
• Sauce Labs
• Simplified Cloud Foundry org and space shell
• Vulnerability Advisor

© Copyright IBM Corp. 2016, 2021 4-61


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Example: A successful build and deploy result

Review the
Review the status of the status of the
1 2
build job. deploy job.

Check the LAST EXECUTION


RESULT to see whether the
application is successfully deployed
to your IBM Cloud account.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-49. Example: A successful build and deploy result

The default settings for the Delivery Pipeline are the following stages:
• Build Stage:
▪ Input: This stage is triggered whenever a change is pushed to Git.
▪ Jobs: Simple Builder Type.
• Deploy Stage:
▪ Input: This stage is triggered whenever the Build Stage completes successfully. It takes as
input the build artifacts that were produced from the Build Stage.
▪ Jobs: Deploys the application to IBM Cloud.
In this example, all the jobs in the Build Stage and Deploy Stage complete successfully, as shown
in the JOBS pane of the Build Stage and Deploy Stage.
The LAST EXECUTION RESULT pane shows that the application successfully deployed to your IBM
Cloud account, and that the application is running on IBM Cloud.
You can also check the build logs in the JOBS pane in the Build Stage column, the deploy logs in
the JOBS pane in the Deploy Stage column, and the runtime logs from LAST EXECUTION RESULT
pane in the Deploy Stage column.
You can also clone the Deploy Stage and deploy the application to any number of spaces in your
IBM Cloud account by clicking the gear icon at the top of Deploy Stage and selecting Clone Stage.

© Copyright IBM Corp. 2016, 2021 4-62


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Unit summary • Describe DevOps.


• Describe the capabilities of IBM Cloud Continuous Delivery.
• Identify the web-based integrated development environment (Web
IDE) features in IBM Cloud Continuous Delivery.
• Describe how to use source code management (such as Git) and
Issue tracking.
• Explain how to build and deploy applications using DevOps tools on
IBM Cloud.

© Copyright IBM Corporation 2016, 2021

Figure 4-50. Unit summary

© Copyright IBM Corp. 2016, 2021 4-63


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Review questions
1. ____ is a DevOps practice that allows applications to have automated deployments.
A. Continuous Improvement
B. Continuous Integration
C. Continuous Delivery
D. Release Planning
2. ____ is one of the DevOps services available on IBM Cloud.
A. Load Balancers
B. IBM Cloudant
C. Natural Language Understanding
D. Auto-Scaling
3. True or False. To create Continuous Delivery Toolchain for your IBM Cloud application, select
Enable in the Continuous Delivery pane.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-51. Review questions

© Copyright IBM Corp. 2016, 2021 4-64


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Review questions (cont.)


4. True or False. A toolchain template can be integrated with other tools and services only during
creation.
5. True or False. In the delivery pipeline, only one job can be configured per each stage.
6. ____ is one of the job types that is available during the Delivery Pipeline stages.
A. Test
B. Monitor
C. Feedback
D. Delivery

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-52. Review questions (cont.)

© Copyright IBM Corp. 2016, 2021 4-65


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Review answers
1. ____ is a DevOps practice that allows applications to have automated deployments.
A. Continuous Improvement
B. Continuous Integration
C. Continuous Delivery
D. Release Planning
2. ____ is one of the DevOps services available on IBM Cloud.
A. Load Balancers
B. IBM Cloudant
C. Natural Language Understanding
D. Auto-Scaling
3. True or False. To create Continuous Delivery Toolchain for your IBM Cloud application, select
Enable in the Continuous Delivery pane.

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-53. Review answers

© Copyright IBM Corp. 2016, 2021 4-66


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Review answers (cont.)


4. True or False. A toolchain template can be integrated with other tools and services only during
creation.
The answer is False. You can add tools and services either during creation or after the creation of the
toolchain.
5. True or False. In the delivery pipeline, only one job can be configured per each stage.
The answer is False. You can configure one or more jobs per stage in the delivery pipeline.
6. ____ is one of the job types that is available during the Delivery Pipeline stages.
A. Test
B. Monitor
C. Feedback
D. Delivery

Adopting a DevOps approach with IBM Continuous Delivery © Copyright IBM Corporation 2016, 2021

Figure 4-54. Review answers (cont.)

© Copyright IBM Corp. 2016, 2021 4-67


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty
Exercise: Developing IBM Cloud applications with IBM
Cloud Continuous Delivery

Figure 4-55. Exercise: Developing IBM Cloud applications with IBM Cloud Continuous Delivery

© Copyright IBM Corp. 2016, 2021 4-68


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.
V12.0
Unit 4. Adopting a DevOps approach with IBM Continuous Delivery

Uempty

Exercise • In this exercise, you work with the IBM Cloud Continuous Delivery
services to explore, develop, build, and deploy IBM Cloud
objectives applications.
• After completing this exercise, you should be able to perform
the following tasks:
ƒ Enable your application to use IBM Cloud Continuous Delivery.
ƒ Create a Git repository to manage your source code.
ƒ View and edit code in the Eclipse Orion Web integrated development
environment (IDE).
ƒ Build and deploy code to IBM Cloud.
ƒ Test the application in IBM Cloud.

© Copyright IBM Corporation 2016, 2021

Figure 4-56. Exercise objectives

© Copyright IBM Corp. 2016, 2021 4-69


Course materials may not be reproduced in whole or in part without the prior written permission of IBM.

You might also like