SlideShare a Scribd company logo
Unleashing Docker with
Pipelines in Bitbucket Cloud
PHILIP HODDER | DEVELOPER | ATLASSIAN | @_PHODDER_
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Agenda
CI with Bitbucket Pipelines
Overview of Docker
Integrating Docker with Pipelines
Recap
Agenda
CI with Bitbucket Pipelines
Overview of Docker
Integrating Docker with Pipelines
Recap
Agenda
CI with Bitbucket Pipelines
Overview of Docker
Integrating Docker with Pipelines
Recap
Agenda
CI with Bitbucket Pipelines
Overview of Docker
Integrating Docker with Pipelines
Recap
Agenda
CI with Bitbucket Pipelines
Overview of Docker
Integrating Docker with Pipelines
Recap
Continuous Integration
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
Unleashing Docker with Pipelines in Bitbucket Cloud
master
master
feature/xyz
master
feature/xyz
master
feature/xyz
master
feature/xyz
master
production
feature/xyz
pipelines:
branches:
master:
- step:
script:
- ./deploy-to-staging
production:
- step:
script:
- ./deploy-to-production
default:
- step:
script:
- ./run-tests
Branch
workflows
bitbucket-pipelines.yml
pipelines:
branches:
master:
- step:
script:
- ./deploy-to-staging
production:
- step:
script:
- ./deploy-to-production
default:
- step:
script:
- ./run-tests
Branch
workflows
bitbucket-pipelines.yml
pipelines:
branches:
master:
- step:
script:
- ./deploy-to-staging
production:
- step:
script:
- ./deploy-to-production
default:
- step:
script:
- ./run-tests
Branch
workflows
bitbucket-pipelines.yml
pipelines:
branches:
master:
- step:
script:
- ./deploy-to-staging
production:
- step:
script:
- ./deploy-to-production
default:
- step:
script:
- ./run-tests
Branch
workflows
bitbucket-pipelines.yml
Unleashing Docker with Pipelines in Bitbucket Cloud
LOCAL/CI
STAGINGLOCAL/CI
STAGINGLOCAL/CI
STAGINGLOCAL/CI
STAGING PRODUCTIONLOCAL/CI
STAGING PRODUCTIONLOCAL/CI
STAGING PRODUCTIONLOCAL/CI
Configuration as Code
Configuration as Code
v.1 v.2
production
Adam’s changes
PRODUCTION
Configuration as Code
v.1 v.2
production
Adam’s changes
PRODUCTION
v.1
image: maven:3.3.3
pipelines:
branches:
master:
- step:
script:
- ./deploy-to-staging
production:
- step:
script:
- ./deploy-to-production
...
Environment
configuration
bitbucket-pipelines.yml
image: maven:3.3.3
pipelines:
branches:
master:
- step:
script:
- ./deploy-to-staging
production:
- step:
script:
- ./deploy-to-production
...
Environment
configuration
bitbucket-pipelines.yml
image: maven:3.3.9
pipelines:
branches:
master:
- step:
script:
- ./deploy-to-staging
production:
- step:
script:
- ./deploy-to-production
...
Environment
configuration
bitbucket-pipelines.yml
CONTINUOUS INTEGRATION
Begin the journey
Agenda
CI with Bitbucket Pipelines
Overview of Docker
Integrating Docker with Pipelines
Recap
Unleashing Docker with Pipelines in Bitbucket Cloud
“Containers are changing the
data center the same way
containers changed global
trade.”
Jim Zemlin, Linux Foundation
Photo credit: Tristan Tussah - Horizon
Containers
Application level virtualisation, Utilises
already running OS and hardware.
Virtual Machines
OS level virtualisation. Need to start up
hypervisor and new OS.
Containers
Application level virtualisation. Utilises
already running OS and hardware.
Virtual Machines
OS level virtualisation. Need to spin up
hardware emulation and new OS.
Versioning
Retrieve the specific
container you need.
Additional Benefits
Extensibility
Build upon the existing
ecosystem.
Portable
Run the same image on
different infrastructure.
Versioning
Retrieve the specific
container you need.
Additional Benefits
Extensibility
Build upon the existing
ecosystem.
Portable
Run the same image on
different infrastructure.
Versioning
Retrieve the specific
container you need.
Additional Benefits
Extensibility
Build upon the existing
ecosystem.
Portable
Run the same image on
different infrastructure.
Source Code
Source Code Compiled Code
Source Code Compiled Code Running Code
Source Code Compiled Code Running Code
Dockerfile
Source Code Compiled Code Running Code
Dockerfile Docker image
Source Code Compiled Code Running Code
Dockerfile Docker image Docker container
FROM openjdk:8
WORKDIR /opt/lib
COPY my-service*.jar /opt/lib/service.jar
CMD [“java”, "-jar", "/opt/lib/service.jar",
“prod.yml"]
Example
Dockerfile
Docker image
Docker container
FROM openjdk:8
WORKDIR /opt/lib
COPY my-service*.jar /opt/lib/service.jar
CMD [“java”, "-jar", "/opt/lib/service.jar",
“prod.yml"]
Example
Dockerfile
Docker image
Docker container
FROM openjdk:8
WORKDIR /opt/lib
COPY my-service*.jar /opt/lib/service.jar
CMD [“java”, "-jar", "/opt/lib/service.jar",
“prod.yml"]
Example
Dockerfile
Docker image
Docker container
FROM openjdk:8
WORKDIR /opt/lib
COPY my-service*.jar /opt/lib/service.jar
CMD [“java”, "-jar", "/opt/lib/service.jar",
“prod.yml"]
Example
Dockerfile
Docker image
Docker container
FROM openjdk:8
WORKDIR /opt/lib
COPY my-service*.jar /opt/lib/service.jar
CMD [“java”, "-jar", "/opt/lib/service.jar",
“prod.yml"]
Example
Dockerfile
Docker image
Docker container
$ docker build -t phil/my-service:1.0 .
Step 1 : FROM openjdk:8
---> 17922730618d
Step 2 : WORKDIR /opt/lib
---> f2bb448254ae
...
Successfully built 6b362a9f73eb
Example
Dockerfile
Docker image
Docker container
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
phil/my-service 1.0 6b362a9f73eb 18 seconds ago 643.2 MB
Example
Dockerfile
Docker image
Docker container
$ docker run phil/my-service:1.0
Hello world!
Listening on port 80…
Example
Dockerfile
Docker image
Docker container
$ docker run -p 8080:80 phil/my-service:1.0
Hello world!
Listening on port 80…
Example
Dockerfile
Docker image
Docker container
$ docker run -p 8080:80 phil/my-service:1.0
Hello world!
Listening on port 80…
$ curl localhost:8080/healthcheck
{
"status": "ready"
}
Example
Dockerfile
Docker image
Docker container
Registries
A Docker Registry is an application
that stores and shares Docker images.
Docker Hub
Why Docker?
Overview
Microservices
Cloud
Simple
Build Configuration
Bitbucket Pipelines runs all pipelines inside of Docker
containers.
Docker in Production
Bitbucket Pipelines utilises Docker for running all of
our production services.
Containerisation isn’t new
Docker has solved issues enabling containers to enter
the mainstream.
Overview
Microservices
Cloud
Simple
Build Configuration
Bitbucket Pipelines runs all pipelines inside of Docker
containers.
Docker in Production
Bitbucket Pipelines utilises Docker for running all of
our production services.
Containerisation isn’t new
Docker has solved issues enabling containers to enter
the mainstream.
Why Docker?
Overview
Microservices
Cloud
Simple
Build Configuration
Bitbucket Pipelines runs all pipelines inside of Docker
containers.
Docker in Production
Bitbucket Pipelines utilises Docker for running all of
our production services.
Containerisation isn’t new
Docker has solved issues enabling containers to enter
the mainstream.
Why Docker?
Overview
Microservices
Cloud
Simple
Bitbucket Cloud Bitbucket Pipelines Pipelines Build Env
Why Docker?
Overview
Microservices
Cloud
Simple
Bitbucket Cloud Bitbucket Pipelines Pipelines Build Env
Why Docker?
Overview
Microservices
Cloud
Simple
Bitbucket Cloud Bitbucket Pipelines Pipelines Build Env
Why Docker?
Overview
Microservices
Cloud
Simple
Microservices solve many problems
Solves issues with fault tolerance, scaling, and
organising people.
Microservices create many problems
Increased development complexity, added release
complexity and new operational requirements.
Docker solves these new problems
Virtualisation reduces release complexity, Docker
Compose for development, and operation tooling
around containers.
Why Docker?
Overview
Microservices
Cloud
Simple
Microservices solve many problems
Solves issues with fault tolerance, scaling, and
organising people.
Microservices create many problems
Increased development complexity, added release
complexity and new operational requirements.
Docker solves these new problems
Virtualisation reduces release complexity, Docker
Compose for development, and operation tooling
around containers.
Why Docker?
Overview
Microservices
Cloud
Simple
Microservices solve many problems
Solves issues with fault tolerance, scaling, and
organising people.
Microservices create many problems
Increased development complexity, added release
complexity and new operational requirements.
Docker solves these new problems
Virtualisation reduces release complexity, Docker
Compose for development, and operation tooling
around containers.
Why Docker?
Overview
Microservices
Cloud
Simple
Why Docker?
Overview
Microservices
Cloud
Simple
Why Docker?
Overview
Microservices
Cloud
Simple
Why Docker?
Overview
Microservices
Cloud
Simple
Virtualisation
The move to SaaS and IaaS requires virtualisation.
Scaling
Simple scaling out using a cloud provider ensures high
availability.
Cost
Running several virtual machines is expensive. Running
several containers is cheaper.
Why Docker?
Overview
Microservices
Cloud
Simple
Virtualisation
The move to SaaS and IaaS requires virtualisation.
Scaling
Simple scaling out using a cloud provider ensures high
availability.
Cost
Running several virtual machines is expensive. Running
several containers is cheaper.
Why Docker?
Overview
Microservices
Cloud
Simple
Virtualisation
The move to SaaS and IaaS requires virtualisation.
Scaling
Simple scaling out using a cloud provider ensures high
availability.
Cost
Running several virtual machines is expensive. Running
several containers is cheaper.
Why Docker?
Overview
Microservices
Cloud
Simple
Why Docker?
Overview
Microservices
Cloud
Simple
Why Docker?
Overview
Microservices
Cloud
Simple
Why Docker?
…
Overview
Microservices
Cloud
Simple
No Configuration Files
Previous tools required configuration files and Linux
knowledge.
Secure
Simply secure by default. Follow best practices and
you will stay secure.
Simply Powerful
Spend less time getting things working, and focus on
extending what you.
Why Docker?
Overview
Microservices
Cloud
Simple
No Configuration Files
Previous tools required configuration files and Linux
knowledge.
Secure
Simply secure by default. Follow best practices and
you will stay secure.
Simply Powerful
Spend less time getting things working, and focus on
extending what you.
Why Docker?
Overview
Microservices
Cloud
Simple
No Configuration Files
Previous tools required configuration files and Linux
knowledge.
Secure
Simply secure by default. Follow best practices and
you will stay secure.
Simply Powerful
Spend less time getting things working, and focus on
extending what you.
Why Docker?
Overview
Microservices
Cloud
Simple
Why Docker?
Let Docker
bring you to
the next
level.
Agenda
CI with Bitbucket Pipelines
Overview of Docker
Integrating Docker with Pipelines
Recap
Unleashing Docker with Pipelines in Bitbucket Cloud
More Services
Creating new services adds
complexity to testing.
Challenges
Growing Team
Onboarding new team
members is complicated.
Bug or Config?
Need to determine if
something is a bug or local
config issue.
More Services
Creating new services adds
complexity to testing.
Challenges
Growing Team
Onboarding new team
members is complicated.
Bug or Config?
Need to determine if
something is a bug or local
config issue.
More Services
Creating new services adds
complexity to testing.
Challenges
Growing Team
Onboarding new team
members is complicated.
Bug or Config?
Need to determine if
something is a bug or local
config issue.
FROM maven:3.3.9
RUN apt-get update -y && 
apt-get install -y python
Example
Dockerfile
Build and Push
.yml config
Example
Dockerfile
Build and Push
.yml config
$ docker build -t julia-adam/mvnpython:3.3.9
Step 1 : FROM maven:3.3.9
---> 17922730618d
...
Successfully built 6b362a9f73eb
$ docker login
. . .
$ docker push julia-adam/mvnpython:3.3.9
. . .
Example
Dockerfile
Build and Push
.yml config
$ docker build -t julia-adam/mvnpython:3.3.9
Step 1 : FROM maven:3.3.9
---> 17922730618d
...
Successfully built 6b362a9f73eb
$ docker login
. . .
$ docker push julia-adam/mvnpython:3.3.9
. . .
Example
Dockerfile
Build and Push
.yml config
$ docker build -t julia-adam/mvnpython:3.3.9
Step 1 : FROM maven:3.3.9
---> 17922730618d
...
Successfully built 6b362a9f73eb
$ docker login
. . .
$ docker push julia-adam/mvnpython:3.3.9
. . .
Example
Dockerfile
Build and Push
.yml config
image: julia-adam/mvnpython:3.3.9
pipelines:
branches:
master:
- step:
script:
- ./deploy-to-staging
production:
- step:
script:
- ./deploy-to-production
...
Example
Dockerfile
Build and Push
.yml config
image:
name: myregistry.io/julia-adam/mvnpython:3.3.9
username: $USERNAME
password: $PASSWORD
pipelines:
branches:
master:
- step:
script:
- ./deploy-to-staging
production:
- step:
script:
- ./deploy-to-production
Local Debug
CLI
$ docker run -it --volume=$(pwd):/debugDir 

--workdir=“/debugDir” --memory=4g 

--entrypoint=/bin/bash 

julia-adam/mvnpython:3.3.9
/# pwd
/debugDir
/# ls
src test scripts README.md
Local Debug
CLI
$ docker run -it --volume=$(pwd):/debugDir 

--workdir=“/debugDir” --memory=4g 

--entrypoint=/bin/bash 

julia-adam/mvnpython:3.3.9
/# pwd
/debugDir
/# ls
src test scripts README.md
Local Debug
CLI
$ docker run -it --volume=$(pwd):/debugDir 

--workdir=“/debugDir” --memory=4g 

--entrypoint=/bin/bash 

julia-adam/mvnpython:3.3.9
/# pwd
/debugDir
/# ls
src test scripts README.md
Local Debug
CLI
$ docker run -it --volume=$(pwd):/debugDir 

--workdir=“/debugDir” --memory=4g 

--entrypoint=/bin/bash 

julia-adam/mvnpython:3.3.9
/# pwd
/debugDir
/# ls
src test scripts README.md
Local Debug
CLI
$ docker run -it --volume=$(pwd):/debugDir 

--workdir=“/debugDir” --memory=4g 

--entrypoint=/bin/bash 

julia-adam/mvnpython:3.3.9
/# pwd
/debugDir
/# ls
src test scripts README.md
Local Debug
CLI
$ docker run -it --volume=$(pwd):/debugDir 

--workdir=“/debugDir” --memory=4g 

--entrypoint=/bin/bash 

julia-adam/mvnpython:3.3.9
/# pwd
/debugDir
/# ls
src test scripts README.md
Local Debug
CLI
$ docker run -it --volume=$(pwd):/debugDir 

--workdir=“/debugDir” --memory=4g 

--entrypoint=/bin/bash

julia-adam/mvnpython:3.3.9
/# pwd
/debugDir
/# ls
src test scripts README.md
Local Debug
CLI
$ docker run -it --volume=$(pwd):/debugDir 

--workdir=“/debugDir” --memory=4g 

--entrypoint=/bin/bash 

julia-adam/mvnpython:3.3.9
/# pwd
/debugDir
/# ls
src test scripts README.md
Local Debug
CLI
$ docker run -it --volume=$(pwd):/debugDir 

--workdir=“/debugDir” --memory=4g 

--entrypoint=/bin/bash 

julia-adam/mvnpython:3.3.9
/# pwd
/debugDir
/# ls
src test scripts README.md
Local Debug
CLI
$ docker run -it --volume=$(pwd):/debugDir 

--workdir=“/debugDir” --memory=4g 

--entrypoint=/bin/bash 

julia-adam/mvnpython:3.3.9
/# pwd
/debugDir
/# ls
src test scripts README.md
Photo credit: isjamesalive
$ docker run postgres:9.5.2
...
PostgreSQL init process complete; ready for
start up.
...
LOG: database system is ready to accept
connections
Dockerised
Database
Run Postgres
Extend Image
Define Services
$ cat create-table.sh
#!/bin/bash
set -e
psql -v ON_ERROR_STOP=1 --username
"$POSTGRES_USER" <<
-EOSQL
CREATE DATABASE usermanagement;
CREATE TABLE accounts (uuid varchar(100)
primary key, email varchar(100) NOT NULL);
EOSQL
Dockerised
Database
Run Postgres
Extend Image
Define Services
st
Dockerised
Database
Run Postgres
Extend Image
Define Services
FROM postgres:9.5.2
COPY ./create-table.sh /docker-entrypoint-
initdb.d/create-table.sh
Dockerised
Database
Run Postgres
Extend Image
Define Services
$ docker build -t julia-and-adam/postgres .
Step 1 : FROM postgres:9.5.2
---> 17922730618d
Step 2 : ADD ./create-table.sh /docker-
entrypoint-initdb.d/create-table.sh
…
---> f2bb448254ae
Successfully built f2bb448254ae
Dockerised
Database
Run Postgres
Extend Image
Define Services
$ docker run julia-and-adam/postgres
...
/docker-entrypoint.sh: running /docker-
entrypoint-initdb.d/create-table.sh
CREATE DATABASE
CREATE TABLE
...
LOG: database system is ready to accept
connections
image: maven:3.3.3
pipelines:
default:
- step:
script:
- mvn package
services:
- postgres
definitions:
services:
postgres:
image: julia-and-adam/postgres:latest
Dockerised
Database
Run Postgres
Extend Image
Define Services
image: maven:3.3.3
pipelines:
default:
- step:
script:
- mvn package
services:
- postgres
definitions:
services:
postgres:
image: julia-and-adam/postgres:latest
Dockerised
Database
Run Postgres
Extend Image
Define Services
Dockerised
Application
Dockerfile
Pipelines Config
FROM openjdk:8
WORKDIR /opt/lib
COPY user-service*.jar /opt/lib/service.jar
CMD [“java”, "-jar", "/opt/lib/service.jar",
“prod.yml"]
Beyond
Dockerised
Application
Dockerfile
Pipelines Config
FROM openjdk:8
WORKDIR /opt/lib
COPY user-service*.jar /opt/lib/service.jar
CMD [“java”, "-jar", "/opt/lib/service.jar",
“prod.yml"]
Beyond
Dockerised
Application
Dockerfile
Pipelines Config
FROM openjdk:8
WORKDIR /opt/lib
COPY user-service*.jar /opt/lib/service.jar
CMD [“java”, "-jar", "/opt/lib/service.jar",
“prod.yml"]
Beyond
Dockerised
Application
Dockerfile
Pipelines Config
FROM openjdk:8
WORKDIR /opt/lib
COPY user-service*.jar /opt/lib/service.jar
CMD [“java”, "-jar", "/opt/lib/service.jar",
“prod.yml"]
Beyond
Dockerised
Application
Dockerfile
Pipelines Config
FROM openjdk:8
WORKDIR /opt/lib
COPY user-service*.jar /opt/lib/service.jar
CMD [“java”, "-jar", "/opt/lib/service.jar",
“prod.yml"]
Beyond
image: maven:3.3.3
pipelines:
default:
- step:
script:
- mvn package
- docker build -t user-service:latest .
options:
docker: true
Dockerised
Application
Dockerfile
Pipelines Config
Beyond
image: maven:3.3.3
pipelines:
default:
- step:
script:
- mvn package
- docker build -t user-service:latest .
services:
- postgres
definitions:
services:
postgres:
image: julia-and-adam/postgres:latest
options:
docker: true
Dockerised
Application
Dockerfile
Pipelines Config
Beyond
image: maven:3.3.3
pipelines:
default:
- step:
script:
- mvn package
- docker build -t user-service:latest .
- docker login -u $USERNAME -p $PASSWORD
- docker push user-service:latest
services:
- postgres
definitions:
services:
postgres:
image: julia-and-adam/postgres:latest
options:
docker: true
Dockerised
Application
Dockerfile
Pipelines Config
Beyond
Dockerised
Application
Dockerfile
Pipelines Config
Beyond
image: maven:3.3.3
pipelines:
branches:
production:
- step:
script:
- mvn package
- bash docker-build-and—push-to-prod
services:
- postgres
default:
- step:
...
definitions:
services:
postgres:
image: julia-and-adam/postgres:latest
options:
docker: true
Piece by Piece
Incremental gains add up quickly to
improve all aspects of your team’s
development cycle.
Agenda
CI with Bitbucket Pipelines
Overview of Docker
Integrating Docker with Pipelines
Recap
Unleashing Docker with Pipelines in Bitbucket Cloud
After
Docker containers for all services.
Running Pipelines. Promoting releases.
Before
Local dev was tough. No CI. Production
was breaking more often.
After
Docker containers for all services.
Running Pipelines. Promoting releases.
Before
Local dev was tough. No CI. Production
was breaking more often.
Docker Consistency
Containers enable stable and
consistent code through all
environments.
Recap
Pipelines ❤ Docker
With our Docker support, it’s
quick to get started using
Pipelines on Bitbucket Cloud.
Docker Simplifies
Cloud development is far
easier with containers.
Docker Consistency
Containers enable stable and
consistent code through all
environments.
Recap
Pipelines ❤ Docker
With our Docker support, it’s
quick to get started using
Pipelines on Bitbucket Cloud.
Docker Simplifies
Cloud development is far
easier with containers.
Docker Consistency
Containers enable stable and
consistent code through all
environments.
Recap
Pipelines ❤ Docker
With our Docker support, it’s
quick to get started using
Pipelines on Bitbucket Cloud.
Docker Simplifies
Cloud development is far
easier with containers.
Thank you!
PHILIP HODDER | DEVELOPER | ATLASSIAN | @_PHODDER_

More Related Content

PDF
Continuous Delivery in the Cloud with Bitbucket Pipelines
PPT
CI and CD with Jenkins
PPTX
Introduction to Git / Github
PPT
Jenkins Overview
PPTX
Jenkins presentation
PDF
Technical Debt: A Management Problem That Requires a Management Solution
PDF
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
PPTX
Idexcel Independent Testing Services Presentation
Continuous Delivery in the Cloud with Bitbucket Pipelines
CI and CD with Jenkins
Introduction to Git / Github
Jenkins Overview
Jenkins presentation
Technical Debt: A Management Problem That Requires a Management Solution
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Idexcel Independent Testing Services Presentation

What's hot (20)

PDF
DevOps, Common use cases, Architectures, Best Practices
PPTX
DevOps with Kubernetes
PDF
5 Best Practices DevOps Culture
PPTX
DevOps introduction
PDF
Continuous Integration/Deployment with Gitlab CI
PPTX
Jenkins CI
PPTX
DevOps concepts, tools, and technologies v1.0
PPTX
DevOps intro
PPTX
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
PDF
"DevOps > CI+CD "
PDF
Jenkins tutorial
PDF
API and Microservices Management
PDF
Java Application Modernization Patterns and Stories from the IBM Garage
PDF
CI/CD (DevOps) 101
PPTX
Transforming Organizations with CI/CD
PPTX
DevOps Introduction
PPTX
Preparing for SRE Interviews
PPTX
Introduction to DevOps
PDF
A Hands-On Introduction To Docker Containers.pdf
PDF
Kubernetes Introduction
DevOps, Common use cases, Architectures, Best Practices
DevOps with Kubernetes
5 Best Practices DevOps Culture
DevOps introduction
Continuous Integration/Deployment with Gitlab CI
Jenkins CI
DevOps concepts, tools, and technologies v1.0
DevOps intro
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
"DevOps > CI+CD "
Jenkins tutorial
API and Microservices Management
Java Application Modernization Patterns and Stories from the IBM Garage
CI/CD (DevOps) 101
Transforming Organizations with CI/CD
DevOps Introduction
Preparing for SRE Interviews
Introduction to DevOps
A Hands-On Introduction To Docker Containers.pdf
Kubernetes Introduction
Ad

Viewers also liked (20)

PDF
A Day in the Life of a HipChat Developer
PDF
Developers Use Bitbucket and So Can You
PDF
Configuration as Code in Bamboo
PDF
Code Reviews vs. Pull Requests
PDF
Software Delivery at Warp Speed: Five Essential Techniques
PDF
Git Aliases of the Gods!
PDF
Modern Operations at Scale within Viasat – How to Structure Teams and Build A...
PDF
How HipChat Ships and Recovers Fast with DevOps Practices
PDF
Black Belt Tips for JIRA Software
PDF
Scrum Control or Kanban Agility? You Can Have both, Using Metrics
PDF
How Nespresso Uses JIRA Software for Release Management
PPTX
From Start-up to Grown-up – FlixBus's Journey with Trello + Atlassian
PDF
How JIRA Core Helps 300,000 Houses Become Smarter
PDF
A Product Manager's Place in a DevOps World
PDF
How Trade Desk Built a Connected Team of 100+ Service Agents
PDF
Sink or Swim: How Incident Communication Keeps You Afloat
PDF
Agile Incident Response and Resolution in the Wold of Devops
PDF
SecOps - Bringing Agility into Security
PDF
Automation Awesomeness: Scaling JIRA Service Desk
PDF
How Archimedes Uses Atlassian Tools Across All Teams
A Day in the Life of a HipChat Developer
Developers Use Bitbucket and So Can You
Configuration as Code in Bamboo
Code Reviews vs. Pull Requests
Software Delivery at Warp Speed: Five Essential Techniques
Git Aliases of the Gods!
Modern Operations at Scale within Viasat – How to Structure Teams and Build A...
How HipChat Ships and Recovers Fast with DevOps Practices
Black Belt Tips for JIRA Software
Scrum Control or Kanban Agility? You Can Have both, Using Metrics
How Nespresso Uses JIRA Software for Release Management
From Start-up to Grown-up – FlixBus's Journey with Trello + Atlassian
How JIRA Core Helps 300,000 Houses Become Smarter
A Product Manager's Place in a DevOps World
How Trade Desk Built a Connected Team of 100+ Service Agents
Sink or Swim: How Incident Communication Keeps You Afloat
Agile Incident Response and Resolution in the Wold of Devops
SecOps - Bringing Agility into Security
Automation Awesomeness: Scaling JIRA Service Desk
How Archimedes Uses Atlassian Tools Across All Teams
Ad

Similar to Unleashing Docker with Pipelines in Bitbucket Cloud (20)

PDF
How to Dockerize Web Application using Docker Compose
PPTX
Introduction to docker
PPTX
Containerize development
PDF
Demystifying Docker
PPTX
Demystifying Docker101
PDF
Deploying WSO2 Middleware on Containers
PDF
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
PDF
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
PDF
Package your Java EE Application using Docker and Kubernetes
PDF
Zero downtime-java-deployments-with-docker-and-kubernetes
PPTX
Docker 101 describing basic docker usage
PDF
Docker for .NET Developers - Michele Leroux Bustamante, Solliance
PPTX
Docker Basic to Advance
PPTX
Docker best practices
PDF
時代在變 Docker 要會:台北 Docker 一日入門篇
PPTX
Dockerizing Ruby Applications - The Best Practices
PPTX
[Codelab 2017] Docker 기초 및 활용 방안
PDF
Docker for Java Developers
PDF
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
PDF
Rome .NET Conference 2024 - Remote Conference
How to Dockerize Web Application using Docker Compose
Introduction to docker
Containerize development
Demystifying Docker
Demystifying Docker101
Deploying WSO2 Middleware on Containers
WSO2ConEU 2016 Tutorial - Deploying WSO2 Middleware on Containers
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Package your Java EE Application using Docker and Kubernetes
Zero downtime-java-deployments-with-docker-and-kubernetes
Docker 101 describing basic docker usage
Docker for .NET Developers - Michele Leroux Bustamante, Solliance
Docker Basic to Advance
Docker best practices
時代在變 Docker 要會:台北 Docker 一日入門篇
Dockerizing Ruby Applications - The Best Practices
[Codelab 2017] Docker 기초 및 활용 방안
Docker for Java Developers
Bring Continuous Integration to Your Laptop With the Drone CI Docker Extensio...
Rome .NET Conference 2024 - Remote Conference

More from Atlassian (20)

PPTX
International Women's Day 2020
PDF
10 emerging trends that will unbreak your workplace in 2020
PDF
Forge App Showcase
PDF
Let's Build an Editor Macro with Forge UI
PDF
Meet the Forge Runtime
PDF
Forge UI: A New Way to Customize the Atlassian User Experience
PDF
Take Action with Forge Triggers
PDF
Observability and Troubleshooting in Forge
PDF
Trusted by Default: The Forge Security & Privacy Model
PDF
Designing Forge UI: A Story of Designing an App UI System
PDF
Forge: Under the Hood
PDF
Access to User Activities - Activity Platform APIs
PDF
Design Your Next App with the Atlassian Vendor Sketch Plugin
PDF
Tear Up Your Roadmap and Get Out of the Building
PDF
Nailing Measurement: a Framework for Measuring Metrics that Matter
PDF
Building Apps With Color Blind Users in Mind
PDF
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
PDF
Beyond Diversity: A Guide to Building Balanced Teams
PDF
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
PDF
Building Apps With Enterprise in Mind
International Women's Day 2020
10 emerging trends that will unbreak your workplace in 2020
Forge App Showcase
Let's Build an Editor Macro with Forge UI
Meet the Forge Runtime
Forge UI: A New Way to Customize the Atlassian User Experience
Take Action with Forge Triggers
Observability and Troubleshooting in Forge
Trusted by Default: The Forge Security & Privacy Model
Designing Forge UI: A Story of Designing an App UI System
Forge: Under the Hood
Access to User Activities - Activity Platform APIs
Design Your Next App with the Atlassian Vendor Sketch Plugin
Tear Up Your Roadmap and Get Out of the Building
Nailing Measurement: a Framework for Measuring Metrics that Matter
Building Apps With Color Blind Users in Mind
Creating Inclusive Experiences: Balancing Personality and Accessibility in UX...
Beyond Diversity: A Guide to Building Balanced Teams
The Road(map) to Las Vegas - The Story of an Emerging Self-Managed Team
Building Apps With Enterprise in Mind

Recently uploaded (20)

PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
System and Network Administration Chapter 2
PPTX
assetexplorer- product-overview - presentation
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
history of c programming in notes for students .pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Digital Strategies for Manufacturing Companies
PDF
medical staffing services at VALiNTRY
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Nekopoi APK 2025 free lastest update
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Reimagine Home Health with the Power of Agentic AI​
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
System and Network Administration Chapter 2
assetexplorer- product-overview - presentation
Navsoft: AI-Powered Business Solutions & Custom Software Development
How to Choose the Right IT Partner for Your Business in Malaysia
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
history of c programming in notes for students .pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Digital Strategies for Manufacturing Companies
medical staffing services at VALiNTRY
Internet Downloader Manager (IDM) Crack 6.42 Build 41
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Operating system designcfffgfgggggggvggggggggg
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Nekopoi APK 2025 free lastest update
Which alternative to Crystal Reports is best for small or large businesses.pdf
Designing Intelligence for the Shop Floor.pdf
Reimagine Home Health with the Power of Agentic AI​

Unleashing Docker with Pipelines in Bitbucket Cloud