Bitbucket Pipelines allows developers to automate building, testing, and deploying applications directly from a Bitbucket repository. It provides a fully-hosted continuous integration and delivery service using Docker containers. Key features include running automated tests and deployments on every code change, easy configuration using YAML files, and scaling of build workers to avoid queues or delays. The service aims to help development teams adopt continuous delivery practices and reduce the time it takes to get changes deployed.
5. Faster time to market
Reduce time and bottlenecks in the phased
approach of build, integrate, then test
Why do
continuous
delivery?
https://www.atlassian.com/continuous-delivery
6. Faster time to market
Reduce time and bottlenecks in the phased
approach of build, integrate, then test
Better products
Reduced batch size results in faster feedback
from customers, so you can pivot faster
Why do
continuous
delivery?
https://www.atlassian.com/continuous-delivery
7. Faster time to market
Reduce time and bottlenecks in the phased
approach of build, integrate, then test
Better products
Reduced batch size results in faster feedback
from customers, so you can pivot faster
Happier teams
Release process is frequently cited as painful,
distracting and burning out key team members
Why do
continuous
delivery?
https://www.atlassian.com/continuous-delivery
9. Complexity
Build & deploy
scripts quickly
become a mess
Infrastructure
Cloud or on-prem,
it’s work to set up
and maintain
Multiple tools
Context switching
between code and
CI systems
Slow feedback
Queues, waiting for
agents, VM startup –
it all costs dev time
Teams have CI/CD pain
12. Fast
No queuing, no slow agents,
responsive UI
Bitbucket Pipelines: the vision
Capable
Flexible pipelines, Docker
support
Effortless
Instant setup, fully hosted,
integrated with Bitbucket
28. Bitbucket
Pipelines
One platform
Config as code
Integrations
Docker
Versioned, and less obviously…
Branch workflow
Stage your build changes on
a branch, get them green,
then merge in
Dev ownership
Avoid build engineers
managing app config
instead of devs
30. Bitbucket
Pipelines
One platform
Config as code
Integrations
Docker
Containers are great for CI/CD
Docker Hub
Over 100,000 images for
build env & services
Reproducible
Replicate production, or
run locally if needed
Composable
Easy to create or extend
images for builds
Fast
Speedy startup pays off in
dev time saved
34. Run Docker commands like build, tag
and push within your build
Bitbucket
Pipelines
hub
build &
push
35. Run Docker commands like build, tag
and push within your build
Bitbucket
Pipelines
hub
build &
push Build and test, then push validated
images to your Docker registry
36. Run Docker commands like build, tag
and push within your build
Bitbucket
Pipelines
hub
build &
push Build and test, then push validated
images to your Docker registry
Generate your Pipelines build
environment image on Pipelines
45. Run additional containers for services
needed by your build
Services start and stop automatically,
providing databases, etc. for testing
Bitbucket
Pipelines
+
…
46. Run additional containers for services
needed by your build
Services start and stop automatically,
providing databases, etc. for testing
Pull from the 100,000+ open source
container images on DockerHub
Bitbucket
Pipelines
+
…
50. Simple configuration
bitbucket-pipelines.yml
pipelines:
default:
- step:
image: node:8
script:
- npm install
- npm test
services:
- database
- redis
definitions:
services:
database:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: testdb
redis:
image: redis:3.2
No network config
Port mapping not required as
all services share a network
interface
Branch-level config
Different testing strategies
usually require a different
set of services
No memory config
Sensible defaults to fit
within a 4 GB total memory
limit per build
55. Name the steps in your pipeline and
pass files between themBitbucket Pipelines
Build
Test
Deploy
56. Name the steps in your pipeline and
pass files between them
Steps pass and fail independently, so
you know where the build broke
Bitbucket Pipelines
Build
Test
Deploy
57. Name the steps in your pipeline and
pass files between them
Steps pass and fail independently, so
you know where the build broke
Use different Docker images for each
step, e.g. for cross-platform testing
Bitbucket Pipelines
Build
Test
Deploy
60. Start with a pre-
baked build
container
Pull
Build
Compile and
package your
microservice
React
Quick push out
changes when
problems occur
Integrate with key
services and check
it all works
Test
Continuous delivery lifecycle
Trigger deployment
to staging … or even
production!
Deploy
Push
Upload your Docker
image to your
registry of choice
61. 50 hours of Jenkins configuration
takes 5 minutes and 15 lines with
Bitbucket Pipelines
BERNIE LEES, CEO, DCBL
62. We now rely on Bitbucket Pipelines
for our entire CD strategy. We can go
from a developer pushing to Bitbucket
… to live in less than a minute.
CHRIS KNIGHT, CTO, HEVNLY