Continuous Delivery in the Cloud with Bitbucket Pipelines

Post on 19-Mar-2017

6.136 views 1 download

Transcript of Continuous Delivery in the Cloud with Bitbucket Pipelines

JEROEN DE RAEDT • SENIOR DEVELOPER • ATLASSIAN • @JEROENDRA

Bitbucket Pipelines

What is Continuous Integration?

Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early.

”T H O U G H T W O R K S

Continuous Integration

Context switching Slow feedback loop

Setup is sophisticated

It’s not easy

Infrastructure needed

Pipelines

77

OUR MISSION

Simplify Continuous Integration. Allow teams to build and ship projects faster.

One tool, one platform

Defining the pipeline

Fast feedback loop Ecosystem Integrations

Pipelines

Demo time!

Demo time!

Demo time!

Demo time!

Demo time!

Demo time!

Demo time!

Demo time!

One tool, one platform

Defining the pipeline

Fast feedback loop Ecosystem Integrations

Pipelines

1 tool, 1 platform

Pipelines

Pushed codeBitbucket Webhook

Start build container

Pipelines

Infrastructure-less Configuration-less

No need to manage a fleet of build servers.

No need to set up servers with specific requirements

for builds.

Pipeline build agents

Build fastBuild simultaneousReady to buildNo waiting in line.

On every code push your build starts instantly.

No limit on the amount of simultaneous builds.

Starting the build takes just a couple of moments.

Pipeline build agents

User management and security

This screenshot is just an example of piece of content that could be placed here. If there is text to accompany the image in this area, it should be as concise as possible. Please delete this box and text.

Access groups

Access management

The existing Bitbucket users and groups are available in Pipelines as well.

This screenshot is just an example of piece of content that could be placed here. If there is text to accompany the image in this area, it should be as concise as possible. Please delete this box and text.

Access groups

Access management

The existing Bitbucket repository permissions are applied to Pipelines as well.

Enabling Bitbucket Pipelines

Defining the pipeline

• Big cool statistic

• 2,569

• Add-Ons in Marketplace

The Pipeline environment

Configuration as Code

Docker Docker Docker

Variables

Defining the pipeline

Configuration as code

Configuration as Code

Easy to understandFull overview of the pipeline in the glimpse of an eye.

Stored in repositoryEasy to import/export and you can use pull requests to review pipeline changes.

VersionedYou can go back in the commit history and run tests as they were configured at the time.

Versioned pipeline configuration

version-1.0 version-2.0

Tests configured using QUnit

Tests configured using Karma

hotfix-branch

Configuration as Code

Docker Docker Docker

Variables

Defining the pipeline

Why Pipelines uses Docker

Technology agnostic

Supports a very wide range of technologies

and tools.

Docker registries

Over 100,000 Docker images available.

Why Pipelines uses Docker

Technology agnostic

Supports a very wide range of technologies

and tools.

Docker Hub

Over 100,000 Docker images available.

Customizable

Easy to create your own or extend existing

Docker images.

Reproducible

Easy to replicate your production

environment or run the build locally.

Configuration as Code

Docker Docker Docker

Variables

Defining the pipeline

Advanced workflows

masterproduction

masterproduction

feature/my-branch

masterproduction

feature/my-branch

masterproduction

feature/my-branch

Branch pipelines opportunities

Deployment branchesBranches can represent what has been released.

Review deployments

Use pull requests to review and kick off deployments.

Page title

Fast feedback loop

Demo time!

Developer magic happens

Demo time!

Demo time!

Integrations

Partner Integrations

Bitbucket PipelinesREST API

REST API

Pipelines endpoints Available endpoints include: query pipelines, stop and start pipelines, manage variables, …

Bitbucket authenticated Use any of the existing authentication options that Bitbucket supports.

Integrate your Connect add-on Connect scopes have been added so Connect add-ons can integrate with Pipelines.

http://tinyurl.com/bitbucket-pipelines

Pipelines

Thank you!

JEROEN DE RAEDT • ATLASSIAN • @JEROENDRA