continuous integration with cloud foundry concourse and docker on openpower

32
#ibmedge © 2016 IBM Corporation Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER Yulia Gaponenko [email protected] Indrajit Poddar [email protected] IBM Systems Sep 22, 2016

Upload: indrajit-poddar

Post on 16-Apr-2017

220 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge copy 2016 IBM Corporation

Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

Yulia Gaponenko yuliagaponenko1deibmcom

Indrajit Poddar ipoddarusibmcom

IBM Systems

Sep 22 2016

ibmedge

About Indrajit (aka IP)

Expertise

bull Accelerated Cloud Data Services Machine

Learning and Deep Learning bull Apache Spark TensorFlowhellip with GPUs

bull Distributed Computing (scale out and up)

bull Cloud Foundry Spectrum Conductor Mesos Kubernetes Docker OpenStack WebSphere

bull Cloud computing on High Performance Systems

bull OpenPOWER IBM POWER

1

Indrajit Poddar Senior Technical Staff Member Master Inventor IBM Systems ipoddarusibmcom Twitter ipoddar

ibmedge

About Yulia

2

Yulia Gaponenko Software Engineer IBM Systems yuliagaponenko1deibmcom github barthy1

Expertise

bull Cloud Foundry committer (BOSH project)

bull Distributed Computing (scale out and up)

bull Cloud Foundry Docker OpenStack WebSphere

bull Open Source

bull Linux Eclipse

bull Cloud computing on High Performance Systems

bull OpenPOWER IBM POWER

ibmedge

Please Note

bull IBMrsquos statements regarding its plans directions and intent are subject to change or withdrawal without notice and at IBMrsquos sole discretion

bull Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision

bull The information mentioned regarding potential future products is not a commitment promise or legal obligation to deliver any material code or functionality Information about potential future products may not be incorporated into any contract

bull The development release and timing of any future features or functionality described for our products remains at our sole discretion

bull Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment The actual throughput or performance that any user will experience will vary depending upon many factors including considerations such as the amount of multiprogramming in the userrsquos job stream the IO configuration the storage configuration and the workload processed Therefore no assurance can be given that an individual user will achieve results similar to those stated here

3

ibmedge

Agenda

bull Continuous Integration (CI) What is it

bull OpenPOWER Systems What are these

bull CI for Open Source Software on OpenPOWER Why is it important

bull Cloud Foundry What is it

bull Concourse What is it

bull Scenario Continuously build a Concourse project from GitHub

4

ibmedge

Change is the only constanthellip

5

Collaborative Open Source Development has to embrace change

eg Linux has 2000 new developers and

gets 10000 patches for each version httparstechnicacominformation-technology201502linux-has-2000-new-

developers-and-gets-10000-patches-for-each-version

ibmedge

What is the elephant like

6

Ubuntu

CentOS

Fedora

Intel - X86_64

Debian

POWER ndash ppc64le

ARM ndash arm64

httpsenwikipediaorgwikiBlind_men_and_an_elephant

Open Source Development has to embrace variations

Microprocessor Architectures

Linux OS Distros

ibmedge

Continuous Integration for Open Source Development

bull Merge developer copies into shared mainline several times a day httpsenwikipediaorgwikiContinuous_integration

bull Best Practices

bull Continuous Build

bull Continuous Test

bull Continuous Deployment

bull Tools

bull Jenkins

bull Travis

bull Concourse

bull Many morehellip

7

ibmedge

IBM POWER Systems Cloud Performance on Open Source

bull Runs popular Linux Distros

bull Runs Docker containers at a high density per system httpsg01acxwass069ahepokibmcomcmsdeveloperworkslinuxperfcolcloudhtml

8

ibmedge

OpenPOWER Open Hardware for High Performance

9

Systems designed for

big data analytics

and superior cloud economics

Upto

12 cores per cpu

96 hardware threads per cpu

1 TB RAM

76Tbs combined IO Bandwidth

GPUs and FPGAs cominghellip

OpenPOWER

Traditional

Intel x86

httpwwwsoftlayercombare-metal-searchprocessorModel[]=9

ibmedge

OpenPOWER Worldwide Development Community

10

continents

20+ technologies revealed

innovations under way 100+

members 200+

24 6 countries

OpenPOWER is an open development community

using the POWER Architecture

ibmedge

IBM OpenPOWER Systems with Open Source Software

11

Open Source Software works great on POWER

GoLang

And many more hellip

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 2: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

About Indrajit (aka IP)

Expertise

bull Accelerated Cloud Data Services Machine

Learning and Deep Learning bull Apache Spark TensorFlowhellip with GPUs

bull Distributed Computing (scale out and up)

bull Cloud Foundry Spectrum Conductor Mesos Kubernetes Docker OpenStack WebSphere

bull Cloud computing on High Performance Systems

bull OpenPOWER IBM POWER

1

Indrajit Poddar Senior Technical Staff Member Master Inventor IBM Systems ipoddarusibmcom Twitter ipoddar

ibmedge

About Yulia

2

Yulia Gaponenko Software Engineer IBM Systems yuliagaponenko1deibmcom github barthy1

Expertise

bull Cloud Foundry committer (BOSH project)

bull Distributed Computing (scale out and up)

bull Cloud Foundry Docker OpenStack WebSphere

bull Open Source

bull Linux Eclipse

bull Cloud computing on High Performance Systems

bull OpenPOWER IBM POWER

ibmedge

Please Note

bull IBMrsquos statements regarding its plans directions and intent are subject to change or withdrawal without notice and at IBMrsquos sole discretion

bull Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision

bull The information mentioned regarding potential future products is not a commitment promise or legal obligation to deliver any material code or functionality Information about potential future products may not be incorporated into any contract

bull The development release and timing of any future features or functionality described for our products remains at our sole discretion

bull Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment The actual throughput or performance that any user will experience will vary depending upon many factors including considerations such as the amount of multiprogramming in the userrsquos job stream the IO configuration the storage configuration and the workload processed Therefore no assurance can be given that an individual user will achieve results similar to those stated here

3

ibmedge

Agenda

bull Continuous Integration (CI) What is it

bull OpenPOWER Systems What are these

bull CI for Open Source Software on OpenPOWER Why is it important

bull Cloud Foundry What is it

bull Concourse What is it

bull Scenario Continuously build a Concourse project from GitHub

4

ibmedge

Change is the only constanthellip

5

Collaborative Open Source Development has to embrace change

eg Linux has 2000 new developers and

gets 10000 patches for each version httparstechnicacominformation-technology201502linux-has-2000-new-

developers-and-gets-10000-patches-for-each-version

ibmedge

What is the elephant like

6

Ubuntu

CentOS

Fedora

Intel - X86_64

Debian

POWER ndash ppc64le

ARM ndash arm64

httpsenwikipediaorgwikiBlind_men_and_an_elephant

Open Source Development has to embrace variations

Microprocessor Architectures

Linux OS Distros

ibmedge

Continuous Integration for Open Source Development

bull Merge developer copies into shared mainline several times a day httpsenwikipediaorgwikiContinuous_integration

bull Best Practices

bull Continuous Build

bull Continuous Test

bull Continuous Deployment

bull Tools

bull Jenkins

bull Travis

bull Concourse

bull Many morehellip

7

ibmedge

IBM POWER Systems Cloud Performance on Open Source

bull Runs popular Linux Distros

bull Runs Docker containers at a high density per system httpsg01acxwass069ahepokibmcomcmsdeveloperworkslinuxperfcolcloudhtml

8

ibmedge

OpenPOWER Open Hardware for High Performance

9

Systems designed for

big data analytics

and superior cloud economics

Upto

12 cores per cpu

96 hardware threads per cpu

1 TB RAM

76Tbs combined IO Bandwidth

GPUs and FPGAs cominghellip

OpenPOWER

Traditional

Intel x86

httpwwwsoftlayercombare-metal-searchprocessorModel[]=9

ibmedge

OpenPOWER Worldwide Development Community

10

continents

20+ technologies revealed

innovations under way 100+

members 200+

24 6 countries

OpenPOWER is an open development community

using the POWER Architecture

ibmedge

IBM OpenPOWER Systems with Open Source Software

11

Open Source Software works great on POWER

GoLang

And many more hellip

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 3: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

About Yulia

2

Yulia Gaponenko Software Engineer IBM Systems yuliagaponenko1deibmcom github barthy1

Expertise

bull Cloud Foundry committer (BOSH project)

bull Distributed Computing (scale out and up)

bull Cloud Foundry Docker OpenStack WebSphere

bull Open Source

bull Linux Eclipse

bull Cloud computing on High Performance Systems

bull OpenPOWER IBM POWER

ibmedge

Please Note

bull IBMrsquos statements regarding its plans directions and intent are subject to change or withdrawal without notice and at IBMrsquos sole discretion

bull Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision

bull The information mentioned regarding potential future products is not a commitment promise or legal obligation to deliver any material code or functionality Information about potential future products may not be incorporated into any contract

bull The development release and timing of any future features or functionality described for our products remains at our sole discretion

bull Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment The actual throughput or performance that any user will experience will vary depending upon many factors including considerations such as the amount of multiprogramming in the userrsquos job stream the IO configuration the storage configuration and the workload processed Therefore no assurance can be given that an individual user will achieve results similar to those stated here

3

ibmedge

Agenda

bull Continuous Integration (CI) What is it

bull OpenPOWER Systems What are these

bull CI for Open Source Software on OpenPOWER Why is it important

bull Cloud Foundry What is it

bull Concourse What is it

bull Scenario Continuously build a Concourse project from GitHub

4

ibmedge

Change is the only constanthellip

5

Collaborative Open Source Development has to embrace change

eg Linux has 2000 new developers and

gets 10000 patches for each version httparstechnicacominformation-technology201502linux-has-2000-new-

developers-and-gets-10000-patches-for-each-version

ibmedge

What is the elephant like

6

Ubuntu

CentOS

Fedora

Intel - X86_64

Debian

POWER ndash ppc64le

ARM ndash arm64

httpsenwikipediaorgwikiBlind_men_and_an_elephant

Open Source Development has to embrace variations

Microprocessor Architectures

Linux OS Distros

ibmedge

Continuous Integration for Open Source Development

bull Merge developer copies into shared mainline several times a day httpsenwikipediaorgwikiContinuous_integration

bull Best Practices

bull Continuous Build

bull Continuous Test

bull Continuous Deployment

bull Tools

bull Jenkins

bull Travis

bull Concourse

bull Many morehellip

7

ibmedge

IBM POWER Systems Cloud Performance on Open Source

bull Runs popular Linux Distros

bull Runs Docker containers at a high density per system httpsg01acxwass069ahepokibmcomcmsdeveloperworkslinuxperfcolcloudhtml

8

ibmedge

OpenPOWER Open Hardware for High Performance

9

Systems designed for

big data analytics

and superior cloud economics

Upto

12 cores per cpu

96 hardware threads per cpu

1 TB RAM

76Tbs combined IO Bandwidth

GPUs and FPGAs cominghellip

OpenPOWER

Traditional

Intel x86

httpwwwsoftlayercombare-metal-searchprocessorModel[]=9

ibmedge

OpenPOWER Worldwide Development Community

10

continents

20+ technologies revealed

innovations under way 100+

members 200+

24 6 countries

OpenPOWER is an open development community

using the POWER Architecture

ibmedge

IBM OpenPOWER Systems with Open Source Software

11

Open Source Software works great on POWER

GoLang

And many more hellip

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 4: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Please Note

bull IBMrsquos statements regarding its plans directions and intent are subject to change or withdrawal without notice and at IBMrsquos sole discretion

bull Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision

bull The information mentioned regarding potential future products is not a commitment promise or legal obligation to deliver any material code or functionality Information about potential future products may not be incorporated into any contract

bull The development release and timing of any future features or functionality described for our products remains at our sole discretion

bull Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment The actual throughput or performance that any user will experience will vary depending upon many factors including considerations such as the amount of multiprogramming in the userrsquos job stream the IO configuration the storage configuration and the workload processed Therefore no assurance can be given that an individual user will achieve results similar to those stated here

3

ibmedge

Agenda

bull Continuous Integration (CI) What is it

bull OpenPOWER Systems What are these

bull CI for Open Source Software on OpenPOWER Why is it important

bull Cloud Foundry What is it

bull Concourse What is it

bull Scenario Continuously build a Concourse project from GitHub

4

ibmedge

Change is the only constanthellip

5

Collaborative Open Source Development has to embrace change

eg Linux has 2000 new developers and

gets 10000 patches for each version httparstechnicacominformation-technology201502linux-has-2000-new-

developers-and-gets-10000-patches-for-each-version

ibmedge

What is the elephant like

6

Ubuntu

CentOS

Fedora

Intel - X86_64

Debian

POWER ndash ppc64le

ARM ndash arm64

httpsenwikipediaorgwikiBlind_men_and_an_elephant

Open Source Development has to embrace variations

Microprocessor Architectures

Linux OS Distros

ibmedge

Continuous Integration for Open Source Development

bull Merge developer copies into shared mainline several times a day httpsenwikipediaorgwikiContinuous_integration

bull Best Practices

bull Continuous Build

bull Continuous Test

bull Continuous Deployment

bull Tools

bull Jenkins

bull Travis

bull Concourse

bull Many morehellip

7

ibmedge

IBM POWER Systems Cloud Performance on Open Source

bull Runs popular Linux Distros

bull Runs Docker containers at a high density per system httpsg01acxwass069ahepokibmcomcmsdeveloperworkslinuxperfcolcloudhtml

8

ibmedge

OpenPOWER Open Hardware for High Performance

9

Systems designed for

big data analytics

and superior cloud economics

Upto

12 cores per cpu

96 hardware threads per cpu

1 TB RAM

76Tbs combined IO Bandwidth

GPUs and FPGAs cominghellip

OpenPOWER

Traditional

Intel x86

httpwwwsoftlayercombare-metal-searchprocessorModel[]=9

ibmedge

OpenPOWER Worldwide Development Community

10

continents

20+ technologies revealed

innovations under way 100+

members 200+

24 6 countries

OpenPOWER is an open development community

using the POWER Architecture

ibmedge

IBM OpenPOWER Systems with Open Source Software

11

Open Source Software works great on POWER

GoLang

And many more hellip

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 5: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Agenda

bull Continuous Integration (CI) What is it

bull OpenPOWER Systems What are these

bull CI for Open Source Software on OpenPOWER Why is it important

bull Cloud Foundry What is it

bull Concourse What is it

bull Scenario Continuously build a Concourse project from GitHub

4

ibmedge

Change is the only constanthellip

5

Collaborative Open Source Development has to embrace change

eg Linux has 2000 new developers and

gets 10000 patches for each version httparstechnicacominformation-technology201502linux-has-2000-new-

developers-and-gets-10000-patches-for-each-version

ibmedge

What is the elephant like

6

Ubuntu

CentOS

Fedora

Intel - X86_64

Debian

POWER ndash ppc64le

ARM ndash arm64

httpsenwikipediaorgwikiBlind_men_and_an_elephant

Open Source Development has to embrace variations

Microprocessor Architectures

Linux OS Distros

ibmedge

Continuous Integration for Open Source Development

bull Merge developer copies into shared mainline several times a day httpsenwikipediaorgwikiContinuous_integration

bull Best Practices

bull Continuous Build

bull Continuous Test

bull Continuous Deployment

bull Tools

bull Jenkins

bull Travis

bull Concourse

bull Many morehellip

7

ibmedge

IBM POWER Systems Cloud Performance on Open Source

bull Runs popular Linux Distros

bull Runs Docker containers at a high density per system httpsg01acxwass069ahepokibmcomcmsdeveloperworkslinuxperfcolcloudhtml

8

ibmedge

OpenPOWER Open Hardware for High Performance

9

Systems designed for

big data analytics

and superior cloud economics

Upto

12 cores per cpu

96 hardware threads per cpu

1 TB RAM

76Tbs combined IO Bandwidth

GPUs and FPGAs cominghellip

OpenPOWER

Traditional

Intel x86

httpwwwsoftlayercombare-metal-searchprocessorModel[]=9

ibmedge

OpenPOWER Worldwide Development Community

10

continents

20+ technologies revealed

innovations under way 100+

members 200+

24 6 countries

OpenPOWER is an open development community

using the POWER Architecture

ibmedge

IBM OpenPOWER Systems with Open Source Software

11

Open Source Software works great on POWER

GoLang

And many more hellip

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 6: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Change is the only constanthellip

5

Collaborative Open Source Development has to embrace change

eg Linux has 2000 new developers and

gets 10000 patches for each version httparstechnicacominformation-technology201502linux-has-2000-new-

developers-and-gets-10000-patches-for-each-version

ibmedge

What is the elephant like

6

Ubuntu

CentOS

Fedora

Intel - X86_64

Debian

POWER ndash ppc64le

ARM ndash arm64

httpsenwikipediaorgwikiBlind_men_and_an_elephant

Open Source Development has to embrace variations

Microprocessor Architectures

Linux OS Distros

ibmedge

Continuous Integration for Open Source Development

bull Merge developer copies into shared mainline several times a day httpsenwikipediaorgwikiContinuous_integration

bull Best Practices

bull Continuous Build

bull Continuous Test

bull Continuous Deployment

bull Tools

bull Jenkins

bull Travis

bull Concourse

bull Many morehellip

7

ibmedge

IBM POWER Systems Cloud Performance on Open Source

bull Runs popular Linux Distros

bull Runs Docker containers at a high density per system httpsg01acxwass069ahepokibmcomcmsdeveloperworkslinuxperfcolcloudhtml

8

ibmedge

OpenPOWER Open Hardware for High Performance

9

Systems designed for

big data analytics

and superior cloud economics

Upto

12 cores per cpu

96 hardware threads per cpu

1 TB RAM

76Tbs combined IO Bandwidth

GPUs and FPGAs cominghellip

OpenPOWER

Traditional

Intel x86

httpwwwsoftlayercombare-metal-searchprocessorModel[]=9

ibmedge

OpenPOWER Worldwide Development Community

10

continents

20+ technologies revealed

innovations under way 100+

members 200+

24 6 countries

OpenPOWER is an open development community

using the POWER Architecture

ibmedge

IBM OpenPOWER Systems with Open Source Software

11

Open Source Software works great on POWER

GoLang

And many more hellip

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 7: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

What is the elephant like

6

Ubuntu

CentOS

Fedora

Intel - X86_64

Debian

POWER ndash ppc64le

ARM ndash arm64

httpsenwikipediaorgwikiBlind_men_and_an_elephant

Open Source Development has to embrace variations

Microprocessor Architectures

Linux OS Distros

ibmedge

Continuous Integration for Open Source Development

bull Merge developer copies into shared mainline several times a day httpsenwikipediaorgwikiContinuous_integration

bull Best Practices

bull Continuous Build

bull Continuous Test

bull Continuous Deployment

bull Tools

bull Jenkins

bull Travis

bull Concourse

bull Many morehellip

7

ibmedge

IBM POWER Systems Cloud Performance on Open Source

bull Runs popular Linux Distros

bull Runs Docker containers at a high density per system httpsg01acxwass069ahepokibmcomcmsdeveloperworkslinuxperfcolcloudhtml

8

ibmedge

OpenPOWER Open Hardware for High Performance

9

Systems designed for

big data analytics

and superior cloud economics

Upto

12 cores per cpu

96 hardware threads per cpu

1 TB RAM

76Tbs combined IO Bandwidth

GPUs and FPGAs cominghellip

OpenPOWER

Traditional

Intel x86

httpwwwsoftlayercombare-metal-searchprocessorModel[]=9

ibmedge

OpenPOWER Worldwide Development Community

10

continents

20+ technologies revealed

innovations under way 100+

members 200+

24 6 countries

OpenPOWER is an open development community

using the POWER Architecture

ibmedge

IBM OpenPOWER Systems with Open Source Software

11

Open Source Software works great on POWER

GoLang

And many more hellip

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 8: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Continuous Integration for Open Source Development

bull Merge developer copies into shared mainline several times a day httpsenwikipediaorgwikiContinuous_integration

bull Best Practices

bull Continuous Build

bull Continuous Test

bull Continuous Deployment

bull Tools

bull Jenkins

bull Travis

bull Concourse

bull Many morehellip

7

ibmedge

IBM POWER Systems Cloud Performance on Open Source

bull Runs popular Linux Distros

bull Runs Docker containers at a high density per system httpsg01acxwass069ahepokibmcomcmsdeveloperworkslinuxperfcolcloudhtml

8

ibmedge

OpenPOWER Open Hardware for High Performance

9

Systems designed for

big data analytics

and superior cloud economics

Upto

12 cores per cpu

96 hardware threads per cpu

1 TB RAM

76Tbs combined IO Bandwidth

GPUs and FPGAs cominghellip

OpenPOWER

Traditional

Intel x86

httpwwwsoftlayercombare-metal-searchprocessorModel[]=9

ibmedge

OpenPOWER Worldwide Development Community

10

continents

20+ technologies revealed

innovations under way 100+

members 200+

24 6 countries

OpenPOWER is an open development community

using the POWER Architecture

ibmedge

IBM OpenPOWER Systems with Open Source Software

11

Open Source Software works great on POWER

GoLang

And many more hellip

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 9: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

IBM POWER Systems Cloud Performance on Open Source

bull Runs popular Linux Distros

bull Runs Docker containers at a high density per system httpsg01acxwass069ahepokibmcomcmsdeveloperworkslinuxperfcolcloudhtml

8

ibmedge

OpenPOWER Open Hardware for High Performance

9

Systems designed for

big data analytics

and superior cloud economics

Upto

12 cores per cpu

96 hardware threads per cpu

1 TB RAM

76Tbs combined IO Bandwidth

GPUs and FPGAs cominghellip

OpenPOWER

Traditional

Intel x86

httpwwwsoftlayercombare-metal-searchprocessorModel[]=9

ibmedge

OpenPOWER Worldwide Development Community

10

continents

20+ technologies revealed

innovations under way 100+

members 200+

24 6 countries

OpenPOWER is an open development community

using the POWER Architecture

ibmedge

IBM OpenPOWER Systems with Open Source Software

11

Open Source Software works great on POWER

GoLang

And many more hellip

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 10: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

OpenPOWER Open Hardware for High Performance

9

Systems designed for

big data analytics

and superior cloud economics

Upto

12 cores per cpu

96 hardware threads per cpu

1 TB RAM

76Tbs combined IO Bandwidth

GPUs and FPGAs cominghellip

OpenPOWER

Traditional

Intel x86

httpwwwsoftlayercombare-metal-searchprocessorModel[]=9

ibmedge

OpenPOWER Worldwide Development Community

10

continents

20+ technologies revealed

innovations under way 100+

members 200+

24 6 countries

OpenPOWER is an open development community

using the POWER Architecture

ibmedge

IBM OpenPOWER Systems with Open Source Software

11

Open Source Software works great on POWER

GoLang

And many more hellip

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 11: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

OpenPOWER Worldwide Development Community

10

continents

20+ technologies revealed

innovations under way 100+

members 200+

24 6 countries

OpenPOWER is an open development community

using the POWER Architecture

ibmedge

IBM OpenPOWER Systems with Open Source Software

11

Open Source Software works great on POWER

GoLang

And many more hellip

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 12: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

IBM OpenPOWER Systems with Open Source Software

11

Open Source Software works great on POWER

GoLang

And many more hellip

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 13: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Continuous Integration for Platform-as-a-Service (PaaS)

bull Develop run manage applications without worrying about the complexity of the infrastructure

bull Often runs on top of a Infrastructure-as-a-Service eg OpenStack

bull Examples

bull Apache Mesos Kubernetes with Docker eg docker run ndasht ppc64leubuntu

bull Cloud Foundry eg cf push helloworldjs

bull CI and PaaS naturally go hand in hand

12

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 14: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Continuous Integration for OpenPOWER

How to ensure that latest versions of open source software packages always run on OpenPOWER

bull Source code changes from multiple developers do not cause breakages

bull Particularly when development is done on x86

bull Changes are automatically tested on POWER architecture

bull Binary packages for POWER are always available at the most recent level

bull in repository as binary blob

bull as Docker image

bull Automatic versioning

13

Docker

image

Source

code

Github

Building

next version

Testing on

Power

Repository

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 15: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Concourse Continuous Integration for Cloud Foundry

14

bull Pipeline-based CI system written in Go

bull Website concourseci

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 16: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge 15

Cloud Foundry What is it

bull Open source cloud computing Platform-as-a-Service (PaaS)

bull Faster and easier to build test deploy and scale applications

bull Choice of clouds developer frameworks and application services

Pivotal Cloud Foundry HP Helion Predix

GoLang

Commercial PaaS products based on open source Cloud Foundry

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 17: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Scenario Continuously Build a Concourse project from GitHub

bull httpsgithubcombarthy1git-resource

bull tracks commits in a branch of a Git repository

bull Get

bull Github project (git-resource)

bull Docker image with git (git-image)

bull Put

bull New Docker image with git-resource to Docker registry (git-resource-image)

bull Action

bull Build and test (git-resource)

16

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 18: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Scenario CI Tools

bull Docker Registry to distribute container images

bull Open Stack to create connected virtual machines on multiple servers

bull BOSH to deploy Cloud Foundry releases on Open Stack

bull Github to collaboratively develop Open Source Software

bull Concourse to continuously integrate open source development and test

ndash Concourse cli called fly

bull Concourse CI descriptor called a pipeline to design and execute a workflow for continuous integration

17

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 19: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Scenario CI Tools Interaction

18

Bare metals

VM VM

Concourse

Server

Docker Containers

VM VM

BOSH

Image Registry

Object Store Concourse

fly client or

browser client

DJ1 Sets up CI infrastructure

DJ2 Adds CI pipeline

DJ3 Commit code

CS1 Monitor

CS2 Build

CS3 Test

4 Output

Developer Jane

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 20: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

1 Deploy your own or use a managed OpenStack

bull Oregon State University Open Source Lab OpenStack

on OpenPOWER systems

bull SoftLayer bare metals with Ubuntu OpenStack on OpenPOWER

19

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 21: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

2 Setup a Docker Private Registry or use DockerHub

Docker Registry Docker Image storage

DockerHub Public Docker registry

bull Docker private registry

bull Install Docker

bull Clone httpsgithubcombarthy1distribution

bull Build Docker image

bull Configure TLS and basic auth

bull Run Docker private registry

20

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 22: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

3 Install BOSH

BOSH Tool to simplify deployment of other projects (Concourse CFhellip) bull Deploy project using release packages bull Update deployment with new versions of the release packages bull Monitor state of the deployment bull Fix problems with VMs or connectivity bull Scale out with additional VMs

bull Bosh installation bull Binaries available from

ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

ndash bosh-init - BOSH installer

ndash BOSH release

ndash bosh cli ndash interact with BOSH server

bull Sample deployment manifest httpswwwcloudfoundryorgbosh-on-openpower-systems

ndash update only OpenStack connection details

and links to binaries

21

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 23: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

4 Install Concourse

Concourse Project to continuously run tests and build binaries

bull Concourse contains 2 releases

bull Concourse

bull Garden-runc

bull Concourse installation

bull Binaries available from ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Sample deployment manifest

bull Installation steps httpswwwcloudfoundryorgconcourse-release-for-openpower

ndash upload all releases

ndash upload deployment manifest

ndash start deployment

22

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 24: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

5 Concourse pipelines

Pipeline Set of steps to run the tests and build the result bull Various input and output data types

ndash Git - pull and push to git repositories ndash Time - start on schedule or timestamp output ndash Docker-image - fetch build and push Docker images ndash Semver ndash set or bump version numbers ndash Amazon S3 - fetch from and upload to s3 buckets ndash hellip ndash Custom resources

bull Color of the box shows type and state ndash Black ndash resources ndash Green ndash successfully finished most recent build ndash Red ndash testbuild failed

bull All the tests and the logs are available bull Group by tests for every commit bull History of the Github project updates

23

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 25: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

5 Examine an existing pipeline

bull Pipeline sample

bull Input resources

ndash Github project

ndash Docker image

bull Testbuild stage

ndash Cloneupdate Github project

ndash Pullrefresh Docker image

ndash Run the test

ndash Build new Docker image

ndash Push Docker image to Docker registry

bull Output resources

ndash New Docker image

bull Logs are available for publicprivate access

bull New test can be started via Web

bull Access to the containers with tests

bull Information about current commit

24

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 26: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

LIVE DEMO

25

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 27: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

6 Update the existing pipeline

bull Existing pipeline to show live how it works

bull Update the pipeline descriptor with new parameters

bull Upload new pipeline to the server with Concourse cli

bull Run new pipeline

bull Show execution steps and logs

bull Login to the running container with tests

bull Run latest Docker image for POWER

26

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 28: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Summary

bull Continuous Integration is essential for open source projects

bull CI benefits OpenPower

bull Concourse tool is great for CI

27

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 29: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Resources

bull Pointers to blogs on how to deploy BOSH Cloud Foundry Concourse on OpenPOWER httpblogaltoroscomcloud-foundry-on-ibm-powerhtml httpswwwcloudfoundryorgbosh-on-openpower-systems httpswwwcloudfoundryorgcf-release-for-openpower httpswwwcloudfoundryorgconcourse-release-for-openpower

bull How to setup Docker private registry httpsgistgithubcombarthy1246cd6892d5db2cec9b6f866de70c089

bull Latest Docker binaries for POWER httpsmasterdockerprojectorg

bull Latest Cloud Foundry binaries for POWER ftpftpunicampbrpubppc64elubuntu14_04cloud-foundry

bull Oregon State University Open Source Lab with OpenStack httposuoslorgservicespowerdev

28

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 30: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Notices and Disclaimers

29

Copyright copy 2016 by International Business Machines Corporation (IBM) No part of this document may be reproduced or transmitted in any form without written permission from IBM

US Government Users Restricted Rights - Use duplication or disclosure restricted by GSA ADP Schedule Contract with IBM

Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors IBM shall have no responsibility to update this information THIS DOCUMENT IS DISTRIBUTED AS IS WITHOUT ANY WARRANTY EITHER EXPRESS OR IMPLIED IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION INCLUDING BUT NOT LIMITED TO LOSS OF DATA BUSINESS INTERRUPTION LOSS OF PROFIT OR LOSS OF OPPORTUNITY IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided

IBM products are manufactured from new parts or new and used parts In some cases a product may not be new and may have been previously installed Regardless our warranty terms applyrdquo

Any statements regarding IBMs future direction intent or product plans are subject to change or withdrawal without notice

Performance data contained herein was generally obtained in a controlled isolated environments Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved Actual performance cost savings or other results in other operating environments may vary

References in this document to IBM products programs or services does not imply that IBM intends to make such products programs or services available in all countries in which IBM operates or does business

Workshops sessions and associated materials may have been prepared by independent session speakers and do not necessarily reflect the views of IBM All materials and discussions are provided for informational purposes only and are neither intended to nor shall constitute legal or other guidance or advice to any individual participant or their specific situation

It is the customerrsquos responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customerrsquos business and any actions the customer may need to take to comply with such laws IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 31: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

ibmedge

Notices and Disclaimers Conrsquot

30

Information concerning non-IBM products was obtained from the suppliers of those products their published announcements or other publicly available sources IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance compatibility or any other claims related to non-IBM products Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products IBM does not warrant the quality of any third-party products or the ability of any such third-party products to interoperate with IBMrsquos products IBM EXPRESSLY DISCLAIMS ALL WARRANTIES EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

The provision of the information contained h erein is not intended to and does not grant any right or license under any IBM patents copyrights trademarks or other intellectual property right

IBM the IBM logo ibmcom Asperareg Bluemix Blueworks Live CICS Clearcase Cognosreg DOORSreg Emptorisreg Enterprise Document Management Systemtrade FASPreg FileNetreg Global Business Services reg Global Technology Services reg IBM ExperienceOnetrade IBM SmartCloudreg IBM Social Businessreg Information on Demand ILOG Maximoreg MQIntegratorreg MQSeriesreg Netcoolreg OMEGAMON OpenPower PureAnalyticstrade PureApplicationreg pureClustertrade PureCoveragereg PureDatareg PureExperiencereg PureFlexreg pureQueryreg pureScalereg PureSystemsreg QRadarreg Rationalreg Rhapsodyreg Smarter Commercereg SoDA SPSS Sterling Commercereg StoredIQ Tealeafreg Tivolireg Trusteerreg Unicareg urbancodereg Watson WebSpherereg Worklightreg X-Forcereg and System zreg ZOS are trademarks of International Business Machines Corporation registered in many jurisdictions worldwide Other product and service names might be trademarks of IBM or other companies A current list of IBM trademarks is available on the Web at Copyright and trademark information at wwwibmcomlegalcopytradeshtml

copy 2016 IBM Corporation ibmedge

Thank You

Page 32: Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER

copy 2016 IBM Corporation ibmedge

Thank You