SlideShare ist ein Scribd-Unternehmen logo
1 von 19
DeveloperConnect
Containers
Exercise
2
Introduction
This workshop will demonstrate some of the integrated capabilities found in IBM Bluemix
and IBM Bluemix DevOps Services (IDS).
Bluemix now includes a new beta service to host Docker container based applications.
This service allows users to build and deploy their Docker applications completely on the
IBM cloud.
This workshop will highlight an agile process to write, build, and deploy Docker
applications using DevOps best practices for continuous delivery using an automated
pipeline to deliver new application versions faster.
This workshop will also demonstrate a new web-based way to code that does not require
the installation of any development environment, or for that matter, any application
besides a browser.
In order to complete this workshop, you will need a Bluemix account that has been
previously linked with IDS. Please use the space provided to write down the email and
password that you will be using with the workshop.
Note: You can either use your own account or you can use the provided workshop
account.
Email: ________________________________
Password: ________________________________
3
Build and deploy an application using the IBM Container
Service
Log into Bluemix
1. Using your browser, go to the Bluemix website at https://bluemix.net
2. Press the “LOG IN” button located at the top right hand corner of the page.
3. In the following page, provide the email and password and press the “Sign in” button.
4. In the Dashboard page, you should notice that you do not have any Applications
created, however you may notice some services have been created in advance for the
workshops.
4
Log into IDS
1. Using your browser, open another tab and go to the IDS website at
https://hub.jazz.net/
2. Press the “LOG IN” button located at the top right hand corner of the page.
3. In the following page, press the “Sign In” button.
4. In the IDS landing page, press the “EXPLORE” tab at the top of the page.
5
5. In the Explore page, type “ibluemx” in the search bar and press the “Enter” key.
6. A list of projects will be displayed, select “container-devops”.
Fork the project
1. Press “FORK PROJECT” to create a personal copy of the project to work with.
2. In the “Fork Project” window, provide a name for your project and note it here:
Note: The deployed application will need to have a unique name, so it would be a good
idea to name the project something like “container-devops-<username>”, where
<username> is your account's username.
Project Name: ____________________________
6
And check the “Make it private (not public)” check box, leave all other items as set, and
press the “CREATE” button.
Inspect the project code
1. You should have received the following message “Congratulations! You have
successfully created your new project.” in the new project page.
Let's look at the project source code by first pressing the “EDIT CODE” button.
7
2. In the left hand tree view, select the file named “Dockerfile”. The file contents will
display in the main editor window.
This will give you an opportunity to see the instructions that will be used to create our
Docker container.
3. In the left hand tree view, select the “app.js” file. The file contents will display in the
main editor window.
This will give you an opportunity to see the code for the simple application that will run
inside the Docker container.
Note: On line 22 the application will output the following “Hello Docker Pipeline! version
1.0”.
8
Configure the DevOps pipeline – Build stage
1. Click on the “BUILD & DEPLOY” button.
2. On the Build & Deploy Pipeline page, press the “+ ADD STAGE” link.
9
3. In the reloaded page, rename the stage name from the default “MyStage” to “Build”
and press the “JOBS” tab in the window.
4. In the “JOBS” tab, click on “ADD JOB” and select “Build”.
5. Set the “Builder Type” to “IBM Container Service on Bluemix”, set the “Image Name” to
“ibluenode” and press the “SAVE” button to continue.
10
Configure the DevOps pipeline – Deploy stage
1. Back on the Build & Deploy Pipeline page, press the “+ ADD STAGE” link.
11
2. In the reloaded page, rename the stage name from the default “MyStage” to “Deploy”
and press the “JOBS” tab in the window.
4. In the “JOBS” tab, click on “ADD JOB” and select “Deploy”.
5. In the “Stage Configuration” page, set the “Deployer Type” to “IBM Container Service
12
on Bluemix”.
Press the “SAVE” button to continue.
13
Run an initial build and deploy
1. To test the pipeline, we will run an initial build. Back in the “Pipeline: All Stages” page
press on the play arrow (which is a right hand pointing triangle) in the top of the “Build”
stage.
Note: At any time you can click on the “View logs and history” link to see detailed
messages.
2. The pipeline will automatically progress from Build to Deploy once the Build stage is
complete.
Once the Deploy stage is complete you will see the resulting container under the “LAST
EXECUTION RESULT” in the Deploy stage box.
Click on the IP address located under the “LAST EXECUTION RESULT” in the Deploy stage
box.
14
3. This will open a new browser window and show the result of the newly deployed web
application, which should read:
Hello Docker Pipeline! Version 1.0
Change the application code
1. Press the “EDIT CODE” button to return to the editor.
2. Edit the “app.js” file and set the value of “res.send” to “Hello Docker Pipeline! version
2.0” and save the changes by typing “CTRL-S” (Windows), “CMD-S” (Mac) or pressing the
“File→Save” (tablets) in the editor tool bar (not in the browser window).
15
Commit the code to the Git repository
1. Press the Git repository button at the left of the screen (under the pencil icon).
2. In the “Working Directory Changes” window, press the “Select All” check box, provide
some commit text (in our case we added “Increased the version displayed”), and press the
“Commit” button.
16
3. Once the changes have been committed you need to press the “SYNC” button to
synchronize with the master branch.
Run a build and deploy
1. Press the “BUILD & DEPLOY” button to return to the “Pipeline: All Stages” page.
2. You will see that the build has automatically started running based on the
synchronization of the change to the repository.
Note: At any time you can click on the “View logs and history” link to see detailed
messages.
17
3. The pipeline will progress from Build to Deploy once the Build stage is complete.
Once the Deploy stage is complete you will see the resulting container under the “LAST
EXECUTION RESULT” header in the Deploy stage box.
Click on the IP address located under the “LAST EXECUTION RESULT” in the Deploy stage
box.
18
4. This will open a new browser window and show the result of the newly redeployed web
application which should read:
Hello Docker Pipeline! Version 2.0
Continue to iterate on your application
You can now extend the application by modifying the app.js file in a new way to render
different content, or you can choose to use a completely different Dockerfile, such as one
found on GitHub.
19

Weitere ähnliche Inhalte

Was ist angesagt?

The Ring programming language version 1.5.4 book - Part 17 of 185
The Ring programming language version 1.5.4 book - Part 17 of 185The Ring programming language version 1.5.4 book - Part 17 of 185
The Ring programming language version 1.5.4 book - Part 17 of 185Mahmoud Samir Fayed
 
LoadUI web performance testing tool
LoadUI web performance testing toolLoadUI web performance testing tool
LoadUI web performance testing toolMilind Rupchandani
 
Supplement J Eclipse
Supplement J EclipseSupplement J Eclipse
Supplement J Eclipsenga
 
Modernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web AppModernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web AppWindows Developer
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019Thomas Daly
 
The Ring programming language version 1.5.3 book - Part 17 of 184
The Ring programming language version 1.5.3 book - Part 17 of 184The Ring programming language version 1.5.3 book - Part 17 of 184
The Ring programming language version 1.5.3 book - Part 17 of 184Mahmoud Samir Fayed
 
Windows Phone Workshop: WCF services
Windows Phone Workshop: WCF services Windows Phone Workshop: WCF services
Windows Phone Workshop: WCF services Zayen Chagra
 
windows azure websites - Lab Manual
windows azure websites - Lab Manualwindows azure websites - Lab Manual
windows azure websites - Lab ManualArun Kumar
 
Android the first app - hello world - copy
Android   the first app - hello world - copyAndroid   the first app - hello world - copy
Android the first app - hello world - copyDeepa Rani
 
( 2 ) Office 2007 Create A Portal
( 2 ) Office 2007   Create A Portal( 2 ) Office 2007   Create A Portal
( 2 ) Office 2007 Create A PortalLiquidHub
 
windows azure cloud services - Lab Manual
windows azure cloud services - Lab Manualwindows azure cloud services - Lab Manual
windows azure cloud services - Lab ManualArun Kumar
 
Integration with CMIS using Mule ESB
Integration with CMIS using Mule ESBIntegration with CMIS using Mule ESB
Integration with CMIS using Mule ESBSanjeet Pandey
 
Part 1 implementing a simple_web_service
Part 1 implementing a simple_web_servicePart 1 implementing a simple_web_service
Part 1 implementing a simple_web_servicekrishmdkk
 
outgoing again
outgoing againoutgoing again
outgoing againspredslide
 

Was ist angesagt? (18)

The Ring programming language version 1.5.4 book - Part 17 of 185
The Ring programming language version 1.5.4 book - Part 17 of 185The Ring programming language version 1.5.4 book - Part 17 of 185
The Ring programming language version 1.5.4 book - Part 17 of 185
 
Tutorial 1
Tutorial 1Tutorial 1
Tutorial 1
 
Writing first-hudson-plugin
Writing first-hudson-pluginWriting first-hudson-plugin
Writing first-hudson-plugin
 
LoadUI web performance testing tool
LoadUI web performance testing toolLoadUI web performance testing tool
LoadUI web performance testing tool
 
Supplement J Eclipse
Supplement J EclipseSupplement J Eclipse
Supplement J Eclipse
 
Modernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web AppModernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web App
 
Dvwkbm lab2 cli1
Dvwkbm lab2 cli1Dvwkbm lab2 cli1
Dvwkbm lab2 cli1
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019
 
Mule Integration with Dropbox
Mule Integration with DropboxMule Integration with Dropbox
Mule Integration with Dropbox
 
The Ring programming language version 1.5.3 book - Part 17 of 184
The Ring programming language version 1.5.3 book - Part 17 of 184The Ring programming language version 1.5.3 book - Part 17 of 184
The Ring programming language version 1.5.3 book - Part 17 of 184
 
Windows Phone Workshop: WCF services
Windows Phone Workshop: WCF services Windows Phone Workshop: WCF services
Windows Phone Workshop: WCF services
 
windows azure websites - Lab Manual
windows azure websites - Lab Manualwindows azure websites - Lab Manual
windows azure websites - Lab Manual
 
Android the first app - hello world - copy
Android   the first app - hello world - copyAndroid   the first app - hello world - copy
Android the first app - hello world - copy
 
( 2 ) Office 2007 Create A Portal
( 2 ) Office 2007   Create A Portal( 2 ) Office 2007   Create A Portal
( 2 ) Office 2007 Create A Portal
 
windows azure cloud services - Lab Manual
windows azure cloud services - Lab Manualwindows azure cloud services - Lab Manual
windows azure cloud services - Lab Manual
 
Integration with CMIS using Mule ESB
Integration with CMIS using Mule ESBIntegration with CMIS using Mule ESB
Integration with CMIS using Mule ESB
 
Part 1 implementing a simple_web_service
Part 1 implementing a simple_web_servicePart 1 implementing a simple_web_service
Part 1 implementing a simple_web_service
 
outgoing again
outgoing againoutgoing again
outgoing again
 

Andere mochten auch

Andere mochten auch (16)

Barrier Free Page new
Barrier Free Page newBarrier Free Page new
Barrier Free Page new
 
Telaraña gloria
Telaraña gloriaTelaraña gloria
Telaraña gloria
 
Sopitade letrass
Sopitade letrassSopitade letrass
Sopitade letrass
 
Balancete 03 14
Balancete 03 14Balancete 03 14
Balancete 03 14
 
Erdi mailako zikloetan sartzeko betebeharrak (zuzenketa)
Erdi mailako zikloetan sartzeko betebeharrak (zuzenketa)Erdi mailako zikloetan sartzeko betebeharrak (zuzenketa)
Erdi mailako zikloetan sartzeko betebeharrak (zuzenketa)
 
Presentation1 test slideshare
Presentation1 test slidesharePresentation1 test slideshare
Presentation1 test slideshare
 
Fooding Catalogue
Fooding CatalogueFooding Catalogue
Fooding Catalogue
 
Apoiaram a causa!
Apoiaram a causa!Apoiaram a causa!
Apoiaram a causa!
 
Scan
ScanScan
Scan
 
Y9 e logistics
Y9 e logisticsY9 e logistics
Y9 e logistics
 
nande N3
nande N3nande N3
nande N3
 
Raport.doc
Raport.docRaport.doc
Raport.doc
 
Redes sociais
Redes sociaisRedes sociais
Redes sociais
 
вопрос 1 справка концепция ЭП 07_11_2013
вопрос 1 справка концепция ЭП 07_11_2013вопрос 1 справка концепция ЭП 07_11_2013
вопрос 1 справка концепция ЭП 07_11_2013
 
Record label
Record labelRecord label
Record label
 
Programas en medio libre, Fundación Tierra de Esperanza, Temuco, enero 2009
Programas en medio libre, Fundación Tierra de Esperanza, Temuco, enero 2009Programas en medio libre, Fundación Tierra de Esperanza, Temuco, enero 2009
Programas en medio libre, Fundación Tierra de Esperanza, Temuco, enero 2009
 

Ähnlich wie Containers Lab

Getting started with PlatformIO
Getting started with PlatformIOGetting started with PlatformIO
Getting started with PlatformIOJens Brynildsen
 
Getting started with code composer studio v4 for tms320 f2812
Getting started with code composer studio v4 for tms320 f2812Getting started with code composer studio v4 for tms320 f2812
Getting started with code composer studio v4 for tms320 f2812Pantech ProLabs India Pvt Ltd
 
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twistIntro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twistLauren Hayward Schaefer
 
Line Graph Analysis using R Script for Intel Edison - IoT Foundation Data - N...
Line Graph Analysis using R Script for Intel Edison - IoT Foundation Data - N...Line Graph Analysis using R Script for Intel Edison - IoT Foundation Data - N...
Line Graph Analysis using R Script for Intel Edison - IoT Foundation Data - N...WithTheBest
 
How to work with code blocks
How to work with code blocksHow to work with code blocks
How to work with code blocksTech Bikram
 
Bluemix and DevOps workshop lab
Bluemix and DevOps workshop labBluemix and DevOps workshop lab
Bluemix and DevOps workshop labbenm4nn
 
Visual c++ 2010_tutorial
Visual c++ 2010_tutorialVisual c++ 2010_tutorial
Visual c++ 2010_tutorialAyub Abd Rahman
 
Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4Manoj Ellappan
 
Membangun Desktop App
Membangun Desktop AppMembangun Desktop App
Membangun Desktop AppFajar Baskoro
 
Getting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivGetting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivAmit Sharma
 

Ähnlich wie Containers Lab (20)

web application.pptx
web application.pptxweb application.pptx
web application.pptx
 
CI & CD- mobile application
CI & CD- mobile applicationCI & CD- mobile application
CI & CD- mobile application
 
CI & CD- mobile application
CI & CD- mobile applicationCI & CD- mobile application
CI & CD- mobile application
 
Getting started with PlatformIO
Getting started with PlatformIOGetting started with PlatformIO
Getting started with PlatformIO
 
Cp e 214_appendix_c
Cp e 214_appendix_cCp e 214_appendix_c
Cp e 214_appendix_c
 
Getting started with code composer studio v4 for tms320 f2812
Getting started with code composer studio v4 for tms320 f2812Getting started with code composer studio v4 for tms320 f2812
Getting started with code composer studio v4 for tms320 f2812
 
Homestead Weather workshop
Homestead Weather workshopHomestead Weather workshop
Homestead Weather workshop
 
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twistIntro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
 
Line Graph Analysis using R Script for Intel Edison - IoT Foundation Data - N...
Line Graph Analysis using R Script for Intel Edison - IoT Foundation Data - N...Line Graph Analysis using R Script for Intel Edison - IoT Foundation Data - N...
Line Graph Analysis using R Script for Intel Edison - IoT Foundation Data - N...
 
W1.pptx
W1.pptxW1.pptx
W1.pptx
 
How to work with code blocks
How to work with code blocksHow to work with code blocks
How to work with code blocks
 
Bluemix and DevOps workshop lab
Bluemix and DevOps workshop labBluemix and DevOps workshop lab
Bluemix and DevOps workshop lab
 
Visual c++ 2010_tutorial
Visual c++ 2010_tutorialVisual c++ 2010_tutorial
Visual c++ 2010_tutorial
 
Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4
 
DotNetNuke
DotNetNukeDotNetNuke
DotNetNuke
 
Compose Camp - Session2.pdf
Compose Camp - Session2.pdfCompose Camp - Session2.pdf
Compose Camp - Session2.pdf
 
Membangun Desktop App
Membangun Desktop AppMembangun Desktop App
Membangun Desktop App
 
2. workload
2.  workload2.  workload
2. workload
 
Visual c++ demo
Visual c++ demoVisual c++ demo
Visual c++ demo
 
Getting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivGetting started-with-oracle-so a-iv
Getting started-with-oracle-so a-iv
 

Mehr von Dev_Events

Eclipse OMR: a modern, open-source toolkit for building language runtimes
Eclipse OMR: a modern, open-source toolkit for building language runtimesEclipse OMR: a modern, open-source toolkit for building language runtimes
Eclipse OMR: a modern, open-source toolkit for building language runtimesDev_Events
 
Eclipse MicroProfile: Accelerating the adoption of Java Microservices
Eclipse MicroProfile: Accelerating the adoption of Java MicroservicesEclipse MicroProfile: Accelerating the adoption of Java Microservices
Eclipse MicroProfile: Accelerating the adoption of Java MicroservicesDev_Events
 
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...Dev_Events
 
Blockchain Hyperledger Lab
Blockchain Hyperledger LabBlockchain Hyperledger Lab
Blockchain Hyperledger LabDev_Events
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerDev_Events
 
Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8Dev_Events
 
Lean and Easy IoT Applications with OSGi and Eclipse Concierge
Lean and Easy IoT Applications with OSGi and Eclipse ConciergeLean and Easy IoT Applications with OSGi and Eclipse Concierge
Lean and Easy IoT Applications with OSGi and Eclipse ConciergeDev_Events
 
Eclipse JDT Embraces Java 9 – An Insider’s View
Eclipse JDT Embraces Java 9 – An Insider’s ViewEclipse JDT Embraces Java 9 – An Insider’s View
Eclipse JDT Embraces Java 9 – An Insider’s ViewDev_Events
 
Node.js – ask us anything!
Node.js – ask us anything! Node.js – ask us anything!
Node.js – ask us anything! Dev_Events
 
Swift on the Server
Swift on the Server Swift on the Server
Swift on the Server Dev_Events
 
Being serverless and Swift... Is that allowed?
Being serverless and Swift... Is that allowed? Being serverless and Swift... Is that allowed?
Being serverless and Swift... Is that allowed? Dev_Events
 
Secrets of building a debuggable runtime: Learn how language implementors sol...
Secrets of building a debuggable runtime: Learn how language implementors sol...Secrets of building a debuggable runtime: Learn how language implementors sol...
Secrets of building a debuggable runtime: Learn how language implementors sol...Dev_Events
 
Tools in Action: Transforming everyday objects with the power of deeplearning...
Tools in Action: Transforming everyday objects with the power of deeplearning...Tools in Action: Transforming everyday objects with the power of deeplearning...
Tools in Action: Transforming everyday objects with the power of deeplearning...Dev_Events
 
Microservices without Servers
Microservices without ServersMicroservices without Servers
Microservices without ServersDev_Events
 
The App Evolution
The App EvolutionThe App Evolution
The App EvolutionDev_Events
 
Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices Dev_Events
 
Create and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and BluemixCreate and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and BluemixDev_Events
 
OpenWhisk - Serverless Architecture
OpenWhisk - Serverless Architecture OpenWhisk - Serverless Architecture
OpenWhisk - Serverless Architecture Dev_Events
 
Add Custom Model and ORM to Node.js
Add Custom Model and ORM to Node.jsAdd Custom Model and ORM to Node.js
Add Custom Model and ORM to Node.jsDev_Events
 
Adding User Management to Node.js
Adding User Management to Node.jsAdding User Management to Node.js
Adding User Management to Node.jsDev_Events
 

Mehr von Dev_Events (20)

Eclipse OMR: a modern, open-source toolkit for building language runtimes
Eclipse OMR: a modern, open-source toolkit for building language runtimesEclipse OMR: a modern, open-source toolkit for building language runtimes
Eclipse OMR: a modern, open-source toolkit for building language runtimes
 
Eclipse MicroProfile: Accelerating the adoption of Java Microservices
Eclipse MicroProfile: Accelerating the adoption of Java MicroservicesEclipse MicroProfile: Accelerating the adoption of Java Microservices
Eclipse MicroProfile: Accelerating the adoption of Java Microservices
 
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...
From Science Fiction to Science Fact: How AI Will Change Our Approach to Buil...
 
Blockchain Hyperledger Lab
Blockchain Hyperledger LabBlockchain Hyperledger Lab
Blockchain Hyperledger Lab
 
Introduction to Blockchain and Hyperledger
Introduction to Blockchain and HyperledgerIntroduction to Blockchain and Hyperledger
Introduction to Blockchain and Hyperledger
 
Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8Using GPUs to Achieve Massive Parallelism in Java 8
Using GPUs to Achieve Massive Parallelism in Java 8
 
Lean and Easy IoT Applications with OSGi and Eclipse Concierge
Lean and Easy IoT Applications with OSGi and Eclipse ConciergeLean and Easy IoT Applications with OSGi and Eclipse Concierge
Lean and Easy IoT Applications with OSGi and Eclipse Concierge
 
Eclipse JDT Embraces Java 9 – An Insider’s View
Eclipse JDT Embraces Java 9 – An Insider’s ViewEclipse JDT Embraces Java 9 – An Insider’s View
Eclipse JDT Embraces Java 9 – An Insider’s View
 
Node.js – ask us anything!
Node.js – ask us anything! Node.js – ask us anything!
Node.js – ask us anything!
 
Swift on the Server
Swift on the Server Swift on the Server
Swift on the Server
 
Being serverless and Swift... Is that allowed?
Being serverless and Swift... Is that allowed? Being serverless and Swift... Is that allowed?
Being serverless and Swift... Is that allowed?
 
Secrets of building a debuggable runtime: Learn how language implementors sol...
Secrets of building a debuggable runtime: Learn how language implementors sol...Secrets of building a debuggable runtime: Learn how language implementors sol...
Secrets of building a debuggable runtime: Learn how language implementors sol...
 
Tools in Action: Transforming everyday objects with the power of deeplearning...
Tools in Action: Transforming everyday objects with the power of deeplearning...Tools in Action: Transforming everyday objects with the power of deeplearning...
Tools in Action: Transforming everyday objects with the power of deeplearning...
 
Microservices without Servers
Microservices without ServersMicroservices without Servers
Microservices without Servers
 
The App Evolution
The App EvolutionThe App Evolution
The App Evolution
 
Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices Building Next Generation Applications and Microservices
Building Next Generation Applications and Microservices
 
Create and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and BluemixCreate and Manage APIs with API Connect, Swagger and Bluemix
Create and Manage APIs with API Connect, Swagger and Bluemix
 
OpenWhisk - Serverless Architecture
OpenWhisk - Serverless Architecture OpenWhisk - Serverless Architecture
OpenWhisk - Serverless Architecture
 
Add Custom Model and ORM to Node.js
Add Custom Model and ORM to Node.jsAdd Custom Model and ORM to Node.js
Add Custom Model and ORM to Node.js
 
Adding User Management to Node.js
Adding User Management to Node.jsAdding User Management to Node.js
Adding User Management to Node.js
 

Kürzlich hochgeladen

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Kürzlich hochgeladen (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Containers Lab

  • 2. 2 Introduction This workshop will demonstrate some of the integrated capabilities found in IBM Bluemix and IBM Bluemix DevOps Services (IDS). Bluemix now includes a new beta service to host Docker container based applications. This service allows users to build and deploy their Docker applications completely on the IBM cloud. This workshop will highlight an agile process to write, build, and deploy Docker applications using DevOps best practices for continuous delivery using an automated pipeline to deliver new application versions faster. This workshop will also demonstrate a new web-based way to code that does not require the installation of any development environment, or for that matter, any application besides a browser. In order to complete this workshop, you will need a Bluemix account that has been previously linked with IDS. Please use the space provided to write down the email and password that you will be using with the workshop. Note: You can either use your own account or you can use the provided workshop account. Email: ________________________________ Password: ________________________________
  • 3. 3 Build and deploy an application using the IBM Container Service Log into Bluemix 1. Using your browser, go to the Bluemix website at https://bluemix.net 2. Press the “LOG IN” button located at the top right hand corner of the page. 3. In the following page, provide the email and password and press the “Sign in” button. 4. In the Dashboard page, you should notice that you do not have any Applications created, however you may notice some services have been created in advance for the workshops.
  • 4. 4 Log into IDS 1. Using your browser, open another tab and go to the IDS website at https://hub.jazz.net/ 2. Press the “LOG IN” button located at the top right hand corner of the page. 3. In the following page, press the “Sign In” button. 4. In the IDS landing page, press the “EXPLORE” tab at the top of the page.
  • 5. 5 5. In the Explore page, type “ibluemx” in the search bar and press the “Enter” key. 6. A list of projects will be displayed, select “container-devops”. Fork the project 1. Press “FORK PROJECT” to create a personal copy of the project to work with. 2. In the “Fork Project” window, provide a name for your project and note it here: Note: The deployed application will need to have a unique name, so it would be a good idea to name the project something like “container-devops-<username>”, where <username> is your account's username. Project Name: ____________________________
  • 6. 6 And check the “Make it private (not public)” check box, leave all other items as set, and press the “CREATE” button. Inspect the project code 1. You should have received the following message “Congratulations! You have successfully created your new project.” in the new project page. Let's look at the project source code by first pressing the “EDIT CODE” button.
  • 7. 7 2. In the left hand tree view, select the file named “Dockerfile”. The file contents will display in the main editor window. This will give you an opportunity to see the instructions that will be used to create our Docker container. 3. In the left hand tree view, select the “app.js” file. The file contents will display in the main editor window. This will give you an opportunity to see the code for the simple application that will run inside the Docker container. Note: On line 22 the application will output the following “Hello Docker Pipeline! version 1.0”.
  • 8. 8 Configure the DevOps pipeline – Build stage 1. Click on the “BUILD & DEPLOY” button. 2. On the Build & Deploy Pipeline page, press the “+ ADD STAGE” link.
  • 9. 9 3. In the reloaded page, rename the stage name from the default “MyStage” to “Build” and press the “JOBS” tab in the window. 4. In the “JOBS” tab, click on “ADD JOB” and select “Build”. 5. Set the “Builder Type” to “IBM Container Service on Bluemix”, set the “Image Name” to “ibluenode” and press the “SAVE” button to continue.
  • 10. 10 Configure the DevOps pipeline – Deploy stage 1. Back on the Build & Deploy Pipeline page, press the “+ ADD STAGE” link.
  • 11. 11 2. In the reloaded page, rename the stage name from the default “MyStage” to “Deploy” and press the “JOBS” tab in the window. 4. In the “JOBS” tab, click on “ADD JOB” and select “Deploy”. 5. In the “Stage Configuration” page, set the “Deployer Type” to “IBM Container Service
  • 12. 12 on Bluemix”. Press the “SAVE” button to continue.
  • 13. 13 Run an initial build and deploy 1. To test the pipeline, we will run an initial build. Back in the “Pipeline: All Stages” page press on the play arrow (which is a right hand pointing triangle) in the top of the “Build” stage. Note: At any time you can click on the “View logs and history” link to see detailed messages. 2. The pipeline will automatically progress from Build to Deploy once the Build stage is complete. Once the Deploy stage is complete you will see the resulting container under the “LAST EXECUTION RESULT” in the Deploy stage box. Click on the IP address located under the “LAST EXECUTION RESULT” in the Deploy stage box.
  • 14. 14 3. This will open a new browser window and show the result of the newly deployed web application, which should read: Hello Docker Pipeline! Version 1.0 Change the application code 1. Press the “EDIT CODE” button to return to the editor. 2. Edit the “app.js” file and set the value of “res.send” to “Hello Docker Pipeline! version 2.0” and save the changes by typing “CTRL-S” (Windows), “CMD-S” (Mac) or pressing the “File→Save” (tablets) in the editor tool bar (not in the browser window).
  • 15. 15 Commit the code to the Git repository 1. Press the Git repository button at the left of the screen (under the pencil icon). 2. In the “Working Directory Changes” window, press the “Select All” check box, provide some commit text (in our case we added “Increased the version displayed”), and press the “Commit” button.
  • 16. 16 3. Once the changes have been committed you need to press the “SYNC” button to synchronize with the master branch. Run a build and deploy 1. Press the “BUILD & DEPLOY” button to return to the “Pipeline: All Stages” page. 2. You will see that the build has automatically started running based on the synchronization of the change to the repository. Note: At any time you can click on the “View logs and history” link to see detailed messages.
  • 17. 17 3. The pipeline will progress from Build to Deploy once the Build stage is complete. Once the Deploy stage is complete you will see the resulting container under the “LAST EXECUTION RESULT” header in the Deploy stage box. Click on the IP address located under the “LAST EXECUTION RESULT” in the Deploy stage box.
  • 18. 18 4. This will open a new browser window and show the result of the newly redeployed web application which should read: Hello Docker Pipeline! Version 2.0 Continue to iterate on your application You can now extend the application by modifying the app.js file in a new way to render different content, or you can choose to use a completely different Dockerfile, such as one found on GitHub.
  • 19. 19