SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Using Docker to improve your workflow
An overview of Bitbucket Pipelines
Twitter: @dkcwd
Reminder about this session
The slides will be made available after the session and you are more
than welcome to share them if you find them useful.
We have people attending from all manner of different backgrounds
with different levels of experience and you’re welcome to ask
questions and share knowledge after the session.
Let’s get started….
An overview of Bitbucket Pipelines
Build, test and deploy from Bitbucket
Bitbucket Pipelines uses Docker
containers to run build plans
Benefits:
- Potential for faster feedback
- Sensible default containers
- Can use your private containers
- Easy to set environment vars
Enabling Pipelines for your repository
In the Settings area, you need to enable Pipelines…
Next, you need to configure your bitbucket-pipelines.yml
Configuring bitbucket-pipelines.yml
Choose a template to use with your build plan…
Previewing the template
Move on to the next step when you’re ready…
Previewing the template
Make a change if you want to then commit to create the file…
Previewing the template
An opportunity to update the message…
Previewing the template
The first build begins…
And fails…
An email notification is sent about the failure…
The reason for failure is clear…
Ok, so let’s add some tests….
Building on a basic example
Let’s build on that basic example by adding some tests to run using Pipelines
For an example I’ll reuse a simple API test collection which I previously created
with Postman when experimenting with serverless-graphql
I’ll export from Postman and commit:
- the request collection file, including pre-request scripts and tests
- an environment file which “should” mean the tests pass when they are run
Building on that basic example
Additionally I’ll need to do a few more things so the tests can run
I’ll create a package.json file defining newman (The CLI test runner for Postman)
as a dependency so it will be installed during the build process
I’ll update:
- the package.json file so tests can be run using npm to call newman
- the bitbucket-pipelines.yml file to run the relevant commands
Let’s deliberately break it
Yay it’s broken!
o/
And fix it again
Need to create your own image?
Check out this link:
https://answers.atlassian.com/questions/39140980/how-do-i-
create-a-docker-image-for-bitbucket-
pipelines?_ga=1.125432457.263526773.1473156356
Need to test with a database?
Check out this link:
https://confluence.atlassian.com/bitbucket/test-with-databases-
856697462.html
Need to use environment variables?
Check out this link:
https://confluence.atlassian.com/bitbucket/environment-variables-
in-bitbucket-pipelines-794502608.html
All of those questions are in the docs! o/
Check out this link:
https://confluence.atlassian.com/bitbucket/bitbucket-pipelines-
792496469.html
Off Topic: Using Docker to make tools available
Example: SugarCRM XHProf viewer
The project is very useful for SugarCRM developers however some setup is
required to be able to make use of it.
Link: https://developer.sugarcrm.com/2016/09/05/sugar-xhprof-viewer-released-as-open-source-project/
Making it easy for a team to use
The project can be set up and “containerized” with a
volume made available for the files to be analyzed.
Benefits:
- Minimizes friction prior to using the tool
- Allows a simplified workflow for sharing
What tools will your team containerize?
What will the benefits be?
A useful YouTube channel! o/
Check out this link:
https://www.youtube.com/channel/UCnxrdFPXJMeHru_b4Q_vTPQ
Off Topic: Have you heard about BuzzConf?
An awesome technology festival! o/
Check out this link:
https://buzzconf.io/go/dkcwd
Enjoy and share what you do….
I’m on Twitter: @dkcwd
LinkedIn: https://au.linkedin.com/in/daveclarkprofile

Weitere ähnliche Inhalte

Was ist angesagt?

.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 .Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 Tikal Knowledge
 
Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHubLiam Dempsey
 
Docker Best Practices Workshop
Docker Best Practices WorkshopDocker Best Practices Workshop
Docker Best Practices WorkshopAhmed AbouZaid
 
Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)Tracy Kennedy
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for TestingMukta Aphale
 
Provisioning environments. A simplistic approach
Provisioning  environments. A simplistic approachProvisioning  environments. A simplistic approach
Provisioning environments. A simplistic approachEder Roger Souza
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for TestingCarlos Sanchez
 
Intro to Git, GitHub, and Devpost
Intro to Git, GitHub, and DevpostIntro to Git, GitHub, and Devpost
Intro to Git, GitHub, and DevpostAndrew Kerr
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkinsAbe Diaz
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 
Git extension-training
Git extension-trainingGit extension-training
Git extension-trainingEric Guo
 
Jenkins Scriptler in 90mins
Jenkins Scriptler in 90minsJenkins Scriptler in 90mins
Jenkins Scriptler in 90minsLarry Cai
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGeoff Hoffman
 

Was ist angesagt? (20)

CI is dead, long live CI
CI is dead, long live CICI is dead, long live CI
CI is dead, long live CI
 
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013 .Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
.Net OSS Ci & CD with Jenkins - JUC ISRAEL 2013
 
Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHub
 
Docker Best Practices Workshop
Docker Best Practices WorkshopDocker Best Practices Workshop
Docker Best Practices Workshop
 
2015 05-06-elias weingaertner-docker-intro
2015 05-06-elias weingaertner-docker-intro2015 05-06-elias weingaertner-docker-intro
2015 05-06-elias weingaertner-docker-intro
 
Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)Continuous Delivery with Jenkins and Wildfly (2014)
Continuous Delivery with Jenkins and Wildfly (2014)
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for Testing
 
Provisioning environments. A simplistic approach
Provisioning  environments. A simplistic approachProvisioning  environments. A simplistic approach
Provisioning environments. A simplistic approach
 
Using Docker for Testing
Using Docker for TestingUsing Docker for Testing
Using Docker for Testing
 
Intro to Git, GitHub, and Devpost
Intro to Git, GitHub, and DevpostIntro to Git, GitHub, and Devpost
Intro to Git, GitHub, and Devpost
 
Introduction to git & GitHub
Introduction to git & GitHubIntroduction to git & GitHub
Introduction to git & GitHub
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
 
Learning git
Learning gitLearning git
Learning git
 
Git extension-training
Git extension-trainingGit extension-training
Git extension-training
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Jenkins Scriptler in 90mins
Jenkins Scriptler in 90minsJenkins Scriptler in 90mins
Jenkins Scriptler in 90mins
 
Github
GithubGithub
Github
 
Git best practices 2016
Git best practices 2016Git best practices 2016
Git best practices 2016
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using Git
 

Andere mochten auch

Implementing blue-green deployment with Atlassian Bamboo
Implementing blue-green deployment with Atlassian BambooImplementing blue-green deployment with Atlassian Bamboo
Implementing blue-green deployment with Atlassian BambooDave Clark
 
Continuous integration using atlassian bamboo
Continuous integration using atlassian bambooContinuous integration using atlassian bamboo
Continuous integration using atlassian bambooAlexander Masalov
 
Azure - The Good Parts
Azure - The Good PartsAzure - The Good Parts
Azure - The Good PartsMark Allan
 
世界で人気のプロジェクト管理/開発ツールベンダー アトラシアン社紹介
世界で人気のプロジェクト管理/開発ツールベンダー アトラシアン社紹介世界で人気のプロジェクト管理/開発ツールベンダー アトラシアン社紹介
世界で人気のプロジェクト管理/開発ツールベンダー アトラシアン社紹介Shunsuke (Sean) Osawa
 
Azure Functions
Azure FunctionsAzure Functions
Azure FunctionsDino Wang
 
Implementation of the Continuous Integration based on Atlassian Bamboo
 Implementation of the Continuous Integration based on Atlassian Bamboo Implementation of the Continuous Integration based on Atlassian Bamboo
Implementation of the Continuous Integration based on Atlassian BambooАнете Аннемария
 
Serverles com Azure Functions & DocumentDB
Serverles com Azure Functions & DocumentDBServerles com Azure Functions & DocumentDB
Serverles com Azure Functions & DocumentDBJosé Roberto Araújo
 
Confluence as DMS for Moscow Atlassian User Group EN
Confluence as DMS for Moscow Atlassian User Group ENConfluence as DMS for Moscow Atlassian User Group EN
Confluence as DMS for Moscow Atlassian User Group ENCaseAgile LLC
 
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014Matthew Cobby
 
Continuous Deployment with Bamboo and Deployit
Continuous Deployment with Bamboo and DeployitContinuous Deployment with Bamboo and Deployit
Continuous Deployment with Bamboo and DeployitXebiaLabs
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucketMedhat Dawoud
 
チケット管理システム Atlassian JIRA のご紹介
チケット管理システム Atlassian JIRA のご紹介チケット管理システム Atlassian JIRA のご紹介
チケット管理システム Atlassian JIRA のご紹介Shunsuke (Sean) Osawa
 
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010Atlassian
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure FunctionsMarco Parenzan
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples Yochay Kiriaty
 
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure FunctionsChris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure FunctionsServerlessConf
 
Serverless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsServerless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsPuneet Ghanshani
 
Combining Operations and Support: Incident Management with Atlassian
Combining Operations and Support: Incident Management with AtlassianCombining Operations and Support: Incident Management with Atlassian
Combining Operations and Support: Incident Management with AtlassianAtlassian
 

Andere mochten auch (20)

Implementing blue-green deployment with Atlassian Bamboo
Implementing blue-green deployment with Atlassian BambooImplementing blue-green deployment with Atlassian Bamboo
Implementing blue-green deployment with Atlassian Bamboo
 
Continuous integration using atlassian bamboo
Continuous integration using atlassian bambooContinuous integration using atlassian bamboo
Continuous integration using atlassian bamboo
 
Bitbucket
BitbucketBitbucket
Bitbucket
 
Azure - The Good Parts
Azure - The Good PartsAzure - The Good Parts
Azure - The Good Parts
 
世界で人気のプロジェクト管理/開発ツールベンダー アトラシアン社紹介
世界で人気のプロジェクト管理/開発ツールベンダー アトラシアン社紹介世界で人気のプロジェクト管理/開発ツールベンダー アトラシアン社紹介
世界で人気のプロジェクト管理/開発ツールベンダー アトラシアン社紹介
 
Azure Functions
Azure FunctionsAzure Functions
Azure Functions
 
Azure functions
Azure functionsAzure functions
Azure functions
 
Implementation of the Continuous Integration based on Atlassian Bamboo
 Implementation of the Continuous Integration based on Atlassian Bamboo Implementation of the Continuous Integration based on Atlassian Bamboo
Implementation of the Continuous Integration based on Atlassian Bamboo
 
Serverles com Azure Functions & DocumentDB
Serverles com Azure Functions & DocumentDBServerles com Azure Functions & DocumentDB
Serverles com Azure Functions & DocumentDB
 
Confluence as DMS for Moscow Atlassian User Group EN
Confluence as DMS for Moscow Atlassian User Group ENConfluence as DMS for Moscow Atlassian User Group EN
Confluence as DMS for Moscow Atlassian User Group EN
 
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
 
Continuous Deployment with Bamboo and Deployit
Continuous Deployment with Bamboo and DeployitContinuous Deployment with Bamboo and Deployit
Continuous Deployment with Bamboo and Deployit
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
 
チケット管理システム Atlassian JIRA のご紹介
チケット管理システム Atlassian JIRA のご紹介チケット管理システム Atlassian JIRA のご紹介
チケット管理システム Atlassian JIRA のご紹介
 
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure FunctionsChris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
Chris Anderson and Yochay Kiriaty - Serverless Patterns with Azure Functions
 
Serverless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsServerless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic apps
 
Combining Operations and Support: Incident Management with Atlassian
Combining Operations and Support: Incident Management with AtlassianCombining Operations and Support: Incident Management with Atlassian
Combining Operations and Support: Incident Management with Atlassian
 

Ähnlich wie Improve workflow using Docker & Bitbucket Pipelines

Cloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket PipelinesCloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket PipelinesAtlassian
 
Novices guide to docker
Novices guide to dockerNovices guide to docker
Novices guide to dockerAlec Clews
 
Implementing CI CD UiPath Using Jenkins Plugin
Implementing CI CD UiPath Using Jenkins PluginImplementing CI CD UiPath Using Jenkins Plugin
Implementing CI CD UiPath Using Jenkins PluginSatish Prasad
 
Mihai Criveti - PyCon Ireland - Automate Everything
Mihai Criveti - PyCon Ireland - Automate EverythingMihai Criveti - PyCon Ireland - Automate Everything
Mihai Criveti - PyCon Ireland - Automate EverythingMihai Criveti
 
Ember addons, served three ways
Ember addons, served three waysEmber addons, served three ways
Ember addons, served three waysMike North
 
Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Ricardo Amaro
 
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...Lucas Jellema
 
Maven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsMaven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsSteve Keener
 
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...Eric Smalling
 
V mware
V mwareV mware
V mwaredvmug1
 
Puppet Primer, Robbie Jerrom, Solution Architect VMware
Puppet Primer, Robbie Jerrom, Solution Architect VMwarePuppet Primer, Robbie Jerrom, Solution Architect VMware
Puppet Primer, Robbie Jerrom, Solution Architect VMwaresubtitle
 
Cyb 225 cyb225 cyb 225 education for service uopstudy.com
Cyb 225 cyb225 cyb 225 education for service   uopstudy.comCyb 225 cyb225 cyb 225 education for service   uopstudy.com
Cyb 225 cyb225 cyb 225 education for service uopstudy.comUOPCourseHelp
 
Cyb 225 cyb225 cyb 225 best tutorials guide uopstudy.com
Cyb 225 cyb225 cyb 225 best tutorials guide  uopstudy.comCyb 225 cyb225 cyb 225 best tutorials guide  uopstudy.com
Cyb 225 cyb225 cyb 225 best tutorials guide uopstudy.comUOPCourseHelp
 
Migraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sitesMigraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sitesdrupalindia
 
Docker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Docker Indy Meetup - An Opinionated View of Building Docker Images and PipelinesDocker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Docker Indy Meetup - An Opinionated View of Building Docker Images and PipelinesMatt Bentley
 
Divide and stress: the journey to component load test
Divide and stress: the journey to component load testDivide and stress: the journey to component load test
Divide and stress: the journey to component load testJuan Pedro Escalona Rueda
 
OpenShift Build Pipelines @ Lightweight Java User Group Meetup
OpenShift Build Pipelines @ Lightweight Java User Group MeetupOpenShift Build Pipelines @ Lightweight Java User Group Meetup
OpenShift Build Pipelines @ Lightweight Java User Group MeetupTobias Schneck
 
Connections install in 45 mins
Connections install in 45 minsConnections install in 45 mins
Connections install in 45 minsSharon James
 

Ähnlich wie Improve workflow using Docker & Bitbucket Pipelines (20)

Cloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket PipelinesCloud-Native Builds & Deployments in Bitbucket Pipelines
Cloud-Native Builds & Deployments in Bitbucket Pipelines
 
Novices guide to docker
Novices guide to dockerNovices guide to docker
Novices guide to docker
 
Implementing CI CD UiPath Using Jenkins Plugin
Implementing CI CD UiPath Using Jenkins PluginImplementing CI CD UiPath Using Jenkins Plugin
Implementing CI CD UiPath Using Jenkins Plugin
 
Mihai Criveti - PyCon Ireland - Automate Everything
Mihai Criveti - PyCon Ireland - Automate EverythingMihai Criveti - PyCon Ireland - Automate Everything
Mihai Criveti - PyCon Ireland - Automate Everything
 
Ember addons, served three ways
Ember addons, served three waysEmber addons, served three ways
Ember addons, served three ways
 
Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing Docker containers & the Future of Drupal testing
Docker containers & the Future of Drupal testing
 
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...
 
Java developer intro to environment management with vagrant puppet and docker
Java developer intro to environment management with vagrant puppet and dockerJava developer intro to environment management with vagrant puppet and docker
Java developer intro to environment management with vagrant puppet and docker
 
Maven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable ResultsMaven: Managing Software Projects for Repeatable Results
Maven: Managing Software Projects for Repeatable Results
 
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
IBM Index 2018 Conference Workshop: Modernizing Traditional Java App's with D...
 
V mware
V mwareV mware
V mware
 
Puppet Primer, Robbie Jerrom, Solution Architect VMware
Puppet Primer, Robbie Jerrom, Solution Architect VMwarePuppet Primer, Robbie Jerrom, Solution Architect VMware
Puppet Primer, Robbie Jerrom, Solution Architect VMware
 
Cyb 225 cyb225 cyb 225 education for service uopstudy.com
Cyb 225 cyb225 cyb 225 education for service   uopstudy.comCyb 225 cyb225 cyb 225 education for service   uopstudy.com
Cyb 225 cyb225 cyb 225 education for service uopstudy.com
 
Cyb 225 cyb225 cyb 225 best tutorials guide uopstudy.com
Cyb 225 cyb225 cyb 225 best tutorials guide  uopstudy.comCyb 225 cyb225 cyb 225 best tutorials guide  uopstudy.com
Cyb 225 cyb225 cyb 225 best tutorials guide uopstudy.com
 
Migraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sitesMigraine Drupal - syncing your staging and live sites
Migraine Drupal - syncing your staging and live sites
 
Docker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Docker Indy Meetup - An Opinionated View of Building Docker Images and PipelinesDocker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
Docker Indy Meetup - An Opinionated View of Building Docker Images and Pipelines
 
Divide and stress: the journey to component load test
Divide and stress: the journey to component load testDivide and stress: the journey to component load test
Divide and stress: the journey to component load test
 
OpenShift Build Pipelines @ Lightweight Java User Group Meetup
OpenShift Build Pipelines @ Lightweight Java User Group MeetupOpenShift Build Pipelines @ Lightweight Java User Group Meetup
OpenShift Build Pipelines @ Lightweight Java User Group Meetup
 
ABCs of docker
ABCs of dockerABCs of docker
ABCs of docker
 
Connections install in 45 mins
Connections install in 45 minsConnections install in 45 mins
Connections install in 45 mins
 

Kürzlich hochgeladen

How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Anthony Dahanne
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 

Kürzlich hochgeladen (20)

How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024Not a Kubernetes fan? The state of PaaS in 2024
Not a Kubernetes fan? The state of PaaS in 2024
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 

Improve workflow using Docker & Bitbucket Pipelines

  • 1. Using Docker to improve your workflow An overview of Bitbucket Pipelines Twitter: @dkcwd
  • 2. Reminder about this session The slides will be made available after the session and you are more than welcome to share them if you find them useful. We have people attending from all manner of different backgrounds with different levels of experience and you’re welcome to ask questions and share knowledge after the session. Let’s get started….
  • 3. An overview of Bitbucket Pipelines
  • 4. Build, test and deploy from Bitbucket Bitbucket Pipelines uses Docker containers to run build plans Benefits: - Potential for faster feedback - Sensible default containers - Can use your private containers - Easy to set environment vars
  • 5. Enabling Pipelines for your repository In the Settings area, you need to enable Pipelines… Next, you need to configure your bitbucket-pipelines.yml
  • 6. Configuring bitbucket-pipelines.yml Choose a template to use with your build plan…
  • 7. Previewing the template Move on to the next step when you’re ready…
  • 8. Previewing the template Make a change if you want to then commit to create the file…
  • 9. Previewing the template An opportunity to update the message…
  • 10. Previewing the template The first build begins… And fails…
  • 11. An email notification is sent about the failure…
  • 12. The reason for failure is clear…
  • 13. Ok, so let’s add some tests….
  • 14. Building on a basic example Let’s build on that basic example by adding some tests to run using Pipelines For an example I’ll reuse a simple API test collection which I previously created with Postman when experimenting with serverless-graphql I’ll export from Postman and commit: - the request collection file, including pre-request scripts and tests - an environment file which “should” mean the tests pass when they are run
  • 15. Building on that basic example Additionally I’ll need to do a few more things so the tests can run I’ll create a package.json file defining newman (The CLI test runner for Postman) as a dependency so it will be installed during the build process I’ll update: - the package.json file so tests can be run using npm to call newman - the bitbucket-pipelines.yml file to run the relevant commands
  • 16.
  • 17.
  • 18. Let’s deliberately break it Yay it’s broken! o/
  • 19. And fix it again
  • 20. Need to create your own image? Check out this link: https://answers.atlassian.com/questions/39140980/how-do-i- create-a-docker-image-for-bitbucket- pipelines?_ga=1.125432457.263526773.1473156356
  • 21. Need to test with a database? Check out this link: https://confluence.atlassian.com/bitbucket/test-with-databases- 856697462.html
  • 22. Need to use environment variables? Check out this link: https://confluence.atlassian.com/bitbucket/environment-variables- in-bitbucket-pipelines-794502608.html
  • 23. All of those questions are in the docs! o/ Check out this link: https://confluence.atlassian.com/bitbucket/bitbucket-pipelines- 792496469.html
  • 24. Off Topic: Using Docker to make tools available
  • 25. Example: SugarCRM XHProf viewer The project is very useful for SugarCRM developers however some setup is required to be able to make use of it. Link: https://developer.sugarcrm.com/2016/09/05/sugar-xhprof-viewer-released-as-open-source-project/
  • 26. Making it easy for a team to use The project can be set up and “containerized” with a volume made available for the files to be analyzed. Benefits: - Minimizes friction prior to using the tool - Allows a simplified workflow for sharing What tools will your team containerize? What will the benefits be?
  • 27. A useful YouTube channel! o/ Check out this link: https://www.youtube.com/channel/UCnxrdFPXJMeHru_b4Q_vTPQ
  • 28. Off Topic: Have you heard about BuzzConf?
  • 29. An awesome technology festival! o/ Check out this link: https://buzzconf.io/go/dkcwd
  • 30. Enjoy and share what you do…. I’m on Twitter: @dkcwd LinkedIn: https://au.linkedin.com/in/daveclarkprofile