SlideShare a Scribd company logo
10 Tips for Configuring Your
Builds with Bamboo Specs
PRZEMEK BRUSKI | BAMBOO ARCHITECT | ATLASSIAN
Agenda
Configuration as Code
Declarative or imperative?
Using Specs at scale
Bamboo Summit highlights
Agenda
Configuration as Code
Declarative or imperative?
Using Specs at scale
Bamboo Summit highlights
Agenda
Configuration as Code
Declarative or imperative?
Using Specs at scale
Bamboo Summit highlights
Agenda
Configuration as Code
Declarative or imperative?
Using Specs at scale
Bamboo Summit highlights
What is Configuration
as Code?
Black box
Configuration is hidden,
cannot be versioned or
peer reviewed
UI-driven configuration does not scale
No bulk operations
A simple change can be very
tedious if you have to do it
across the whole instance
Clone is not your
friend
Limited sharing of
common entities
Black box
Configuration is hidden,
cannot be versioned or
peer reviewed
UI-driven configuration does not scale
No bulk operations
A simple change can be very
tedious if you have to do it
across the whole instance
Clone is not your
friend
Limited sharing of
common entities
Black box
Configuration is hidden,
cannot be versioned or
peer reviewed
UI-driven configuration does not scale
No bulk operations
A simple change can be very
tedious if you have to do it
across the whole instance
Clone is not your
friend
Limited sharing of
common entities
Configuration as Code:
representing the
configuration of a system
through source code.
CONFIGURATION AS CODE - THE CONCEPT
Bamboo Specs
Choosing the language
Or, the great “declarative vs imperative” debate
Declarative
Define what needs to be done. The definition is
then interpreted.
Imperative
Define exactly how to do something.
Declarative
or
imperative?
Declarative
Define what needs to be done. The definition is
then interpreted.
Imperative
Define exactly how to do something.
Declarative
or
imperative?
image: node:4.6.0
pipelines:
default:
- step:
script:
- npm install
- npm test
Declarative
Example
Advantages
Disadvantages
Declarative
Example
Advantages
Disadvantages
Compact
Easy to read, low syntax clutter
Flat learning curve
Master a few rules = master the language
No entry barrier
Use your standard tools to edit it
Declarative
Example
Advantages
Disadvantages
Harder to scale
Internal compliance, a lot of definitions.
Reuse
Reuse is a problem
Validation
No validation out of the box
image: node:4.6.0
pipelines:
default:
- step:
script:
- npm install
- npm test
Imperative
Example
Advantages
Disadvantages
Imperative
Example
Advantages
Disadvantages
Easy to scale
Templates, central management.
Reuse
Reuse is an inherent part of the approach
Integration with tools
Context sensitive documentation, completion, validation…
Imperative
Example
Advantages
Disadvantages
Harder to start
Tooling setup.
Steeper learning curve
For non-Java users
Inviting complexity
700+ plans is a lot…
Powerful definition languages
are the easiest way to
manage a big CI instance.
CHOOSING THE LANGUAGE
On every big instance
we have small,
independent teams.
CHOOSING THE LANGUAGE
Bitbucket Pipelines Go example…
…ran in Bamboo
10* Tips for managing
your instance
*Actually a bit more
Simpler for simple use
cases
Simplicity of YAML
Gateway to Specs
At some point your projects need more
Containers for free
The whole build is containerised
#1
Use
Pipelines
YAML
Simpler for simple use
cases
Simplicity of YAML
Gateway to Specs
At some point your projects need more
Containers for free
The whole build is containerised
#1
Use
Pipelines
YAML
Simpler for simple use
cases
Simplicity of YAML
Gateway to Specs
At some point your projects need more
Containers for free
The whole build is containerised
#1
Use
Pipelines
YAML
Generate specs from a plan
Never start on your own
Using exporter
Simple right click and you get a working
spec definition
#2
Use exporter
to start with
Specs
Generate specs from a plan
Never start on your own
Using exporter
Simple right click and you get a working
spec definition
#2
Use exporter
to start with
Specs
Use exporter to start with Specs
Task are a useful UI
building block
But “we’re not in UI anymore”
Easier to run locally
Tasks are Bamboo-specific
#3
Prefer script
tasks
Task are a useful UI
building block
But “we’re not in UI anymore”
Easier to run locally
Tasks are Bamboo-specific
#3
Prefer script
tasks
Dry run
A disabled plan is sent to the server
Works with Maven and IDE
You can test IDE mode and RSS mode
#4
Dry run your
specs
Dry run
A disabled plan is sent to the server
Works with Maven and IDE
You can test both the IDE mode and RSS mode
#4
Dry run your
specs
Result of a dry run
A simple change can have
big impact
Usually good, but sometimes undesired
Generate YAML locally
And version it with the review. You can make it
mandatory too.
#5
Include
YAML in
reviews
A simple change can have
big impact
Usually good, but sometimes undesired
Generate YAML locally
And version it with the review. You can make it
mandatory too.
#5
Include
YAML in
reviews
Shared entities are great
But no longer necessary.
Encryption
Instance-wide encryption makes it safe
to share credentials
#6
Move
variables/
credentials
to Specs
Shared entities are great
But no longer necessary.
Encryption
Instance-wide encryption makes it safe 

to share credentials
#6
Move
variables/
credentials
to Specs
Define policies, tiers
Empower the champion
Not a “Fix red build role”
He needs to define how the red builds are handled
It’s going to happen anyway
Specs or not, at 100+ plans your instance is complex.
#7
Find build
champions
Define policies, tiers
Empower the champion
Not a “Fix red build role”
He needs to define how the red builds are handled
It’s going to happen anyway
Specs or not, at 100+ plans your instance is complex.
#7
Find build
champions
Define policies, tiers
Empower the champion
Not a “Fix red build role”
He needs to define how the red builds are handled
It’s going to happen anyway
Specs or not, at 100+ plans your instance is complex.
#7
Find build
champions
Working with many plans is
a hassle
Flaky tests, email spam, red wallboards
Define plan tiers
E.g. “Always green”, “Green CoB”, “Green at
Sprint end”
Alternative: merge plans
Having a “Mega Plan” reduces the amount of noise
#8
Organise
plans into
tiers
Working with many plans is
a hassle
Flaky tests, email spam, red wallboards
Define plan tiers
E.g. “Always green”, “Green CoB”, “Green at
Sprint end”
Alternative: merge plans
Having a “Mega Plan” reduces the amount of noise
#8
Organise
plans into
tiers
Working with many plans is
a hassle
Flaky tests, email spam, red wallboards
Define plan tiers
E.g. “Always green”, “Green CoB”, “Green at
Sprint end”
Alternative: merge plans
Having a “Mega Plan” reduces the amount of noise
#8
Organise
plans into
tiers
Organise your plans into tiers
Feature branches
Feature branches for maintenance branches
are a problem
Plan branches for repo
Redefine repositories per product branch
#9
Create
separate
projects for
releases
Feature branches
Feature branches for maintenance branches
are a problem
Plan branches for repo
Redefine repositories per product branch
#9
Create
separate
projects for
releases
Separate projects for releases
Separate projects for releases
New microservices or
projects
A starting point or a template for your plan
Policy enforcement
A team can own a template or a component
#10
Template
your
organisation
New microservices or
projects
A starting point or a template for your plan
Policy enforcement
A team can own a template or a component
#10
Template
your
organisation
What is AnyTask
A Specs class that can represent any custom task
Exporter can help
A definition will be created automatically.
#11
AnyTask is
there for
your custom
plugins
What is AnyTask
A Specs class that can represent any custom task
Exporter can help
A definition will be created automatically.
#11
AnyTask is
there for
your custom
plugins
AnyTask is there for your custom plugins
One more thing…
#12
Use Specs for
Bitbucket Server
Store your Specs in
Bitbucket
Flaky tests, email spam, red wallboards
Use Bitbucket Server to
track changes
Audit log on steroids
Use Pull Requests for 

extra control
Plan changes will become active after PR merge
Use Specs
for Bitbucket
Server
Store your Specs in
Bitbucket
Flaky tests, email spam, red wallboards
Use Bitbucket Server to
track changes
Audit log on steroids
Use Pull Requests for 

extra control
Plan changes will become active after PR merge
Use Specs
for Bitbucket
Server
Store your Specs in
Bitbucket
Flaky tests, email spam, red wallboards
Use Bitbucket Server to
track changes
Audit log on steroids
Use Pull Requests for 

extra control
Plan changes will become active after PR merge
Use Specs
for Bitbucket
Server
Specs for
Bitbucket
Server
Repository
Enabling Specs
Profit!
Specs for
Bitbucket
Server
Repository
Enabling Specs
Profit!
Specs for
Bitbucket
Server
Repository
Enabling Specs
Profit!
Bamboo Summit highlights
Visit us at the booth to find out more
The world doesn’t end with Specs
Performance
improvements, new tiers
1000 agents need more performance:
Bulk operations no longer affect UI
Smart mirrors
Have your Bitbucket Server mirrors
handle the agent traffic with ease
Project level permissions
You no longer need to hand out
instance-wide permissions anymore.
Artifact handlers
Let S3/NFS handle your 

artifacts. Scalably.
Thank you!
PRZEMEK BRUSKI | BAMBOO ARCHITECT | ATLASSIAN

More Related Content

What's hot

What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
Edureka!
 
Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.ppt
Ana Sarbescu
 
Jenkins tutorial for beginners
Jenkins tutorial for beginnersJenkins tutorial for beginners
Jenkins tutorial for beginners
BugRaptors
 
Testing Kafka components with Kafka for JUnit
Testing Kafka components with Kafka for JUnitTesting Kafka components with Kafka for JUnit
Testing Kafka components with Kafka for JUnit
Markus Günther
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
Cynoteck Technology Solutions Private Limited
 
What Is Functional Testing?
What Is Functional Testing?What Is Functional Testing?
What Is Functional Testing?
QA InfoTech
 
Web Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUIWeb Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUI
Dinesh Kaushik
 
Cloud testing
Cloud testingCloud testing
Cloud testing
Khizra Sammad
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing FundamentalsChankey Pathak
 
How to Automate API Testing
How to Automate API TestingHow to Automate API Testing
How to Automate API Testing
Bruno Pedro
 
Api Testing
Api TestingApi Testing
Api Testing
Vishwanath KC
 
RESTful API Testing using Postman, Newman, and Jenkins
RESTful API Testing using Postman, Newman, and JenkinsRESTful API Testing using Postman, Newman, and Jenkins
RESTful API Testing using Postman, Newman, and Jenkins
QASymphony
 
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
Simplilearn
 
Introduction to APIs & how to automate APIs testing with selenium web driver?
Introduction to APIs & how to automate APIs testing with selenium web driver?Introduction to APIs & how to automate APIs testing with selenium web driver?
Introduction to APIs & how to automate APIs testing with selenium web driver?
BugRaptors
 
What is Integration Testing? | Edureka
What is Integration Testing? | EdurekaWhat is Integration Testing? | Edureka
What is Integration Testing? | Edureka
Edureka!
 
Test Automation
Test AutomationTest Automation
Test Automation
rockoder
 
functional testing
functional testing functional testing
functional testing
bharathanche
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing tools
QACraft
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
Naresh Jain
 
Test automation
Test automationTest automation
Test automation
Xavier Yin
 

What's hot (20)

What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
 
Web automation using selenium.ppt
Web automation using selenium.pptWeb automation using selenium.ppt
Web automation using selenium.ppt
 
Jenkins tutorial for beginners
Jenkins tutorial for beginnersJenkins tutorial for beginners
Jenkins tutorial for beginners
 
Testing Kafka components with Kafka for JUnit
Testing Kafka components with Kafka for JUnitTesting Kafka components with Kafka for JUnit
Testing Kafka components with Kafka for JUnit
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
What Is Functional Testing?
What Is Functional Testing?What Is Functional Testing?
What Is Functional Testing?
 
Web Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUIWeb Services and Introduction of SOAPUI
Web Services and Introduction of SOAPUI
 
Cloud testing
Cloud testingCloud testing
Cloud testing
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
How to Automate API Testing
How to Automate API TestingHow to Automate API Testing
How to Automate API Testing
 
Api Testing
Api TestingApi Testing
Api Testing
 
RESTful API Testing using Postman, Newman, and Jenkins
RESTful API Testing using Postman, Newman, and JenkinsRESTful API Testing using Postman, Newman, and Jenkins
RESTful API Testing using Postman, Newman, and Jenkins
 
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
 
Introduction to APIs & how to automate APIs testing with selenium web driver?
Introduction to APIs & how to automate APIs testing with selenium web driver?Introduction to APIs & how to automate APIs testing with selenium web driver?
Introduction to APIs & how to automate APIs testing with selenium web driver?
 
What is Integration Testing? | Edureka
What is Integration Testing? | EdurekaWhat is Integration Testing? | Edureka
What is Integration Testing? | Edureka
 
Test Automation
Test AutomationTest Automation
Test Automation
 
functional testing
functional testing functional testing
functional testing
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing tools
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
Test automation
Test automationTest automation
Test automation
 

Viewers also liked

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
Atlassian
 
Modernizing Development - The Road to Agility and DevOps at Compuware
Modernizing Development - The Road to Agility and DevOps at CompuwareModernizing Development - The Road to Agility and DevOps at Compuware
Modernizing Development - The Road to Agility and DevOps at Compuware
Atlassian
 
Optimizing Git LFS Migration Through Repository Data-mining
Optimizing Git LFS Migration Through Repository Data-miningOptimizing Git LFS Migration Through Repository Data-mining
Optimizing Git LFS Migration Through Repository Data-mining
Atlassian
 
Web Performance at First Glance
Web Performance at First GlanceWeb Performance at First Glance
Web Performance at First Glance
Atlassian
 
Change Software Like a Scientist
Change Software Like a ScientistChange Software Like a Scientist
Change Software Like a Scientist
Atlassian
 
The Atlassian Bug Bounty Program
The Atlassian Bug Bounty ProgramThe Atlassian Bug Bounty Program
The Atlassian Bug Bounty Program
Atlassian
 
Continuously Integrating Distributed Code at Netflix
Continuously Integrating Distributed Code at NetflixContinuously Integrating Distributed Code at Netflix
Continuously Integrating Distributed Code at Netflix
Atlassian
 
How Talking Becomes Doing With Stride
How Talking Becomes Doing With StrideHow Talking Becomes Doing With Stride
How Talking Becomes Doing With Stride
Atlassian
 
It's All About Customer Experience: The Latest from Jira Service Desk
It's All About Customer Experience: The Latest from Jira Service DeskIt's All About Customer Experience: The Latest from Jira Service Desk
It's All About Customer Experience: The Latest from Jira Service Desk
Atlassian
 
How Atlassian Broke Down the Walls Between Support & Development
How Atlassian Broke Down the Walls Between Support & DevelopmentHow Atlassian Broke Down the Walls Between Support & Development
How Atlassian Broke Down the Walls Between Support & Development
Atlassian
 
The Power of Process: How Samsung Implemented ITIL
The Power of Process: How Samsung Implemented ITILThe Power of Process: How Samsung Implemented ITIL
The Power of Process: How Samsung Implemented ITIL
Atlassian
 
Upgrades and Admin at Scale: How to Become a Jira Admin Champion
Upgrades and Admin at Scale: How to Become a Jira Admin ChampionUpgrades and Admin at Scale: How to Become a Jira Admin Champion
Upgrades and Admin at Scale: How to Become a Jira Admin Champion
Atlassian
 
How The Trade Desk Built a Connected Team of 100+ Agents
How The Trade Desk Built a Connected Team of 100+ AgentsHow The Trade Desk Built a Connected Team of 100+ Agents
How The Trade Desk Built a Connected Team of 100+ Agents
Atlassian
 
How OC Tanner Uses ITSM Processes to Win Big
How OC Tanner Uses ITSM Processes to Win BigHow OC Tanner Uses ITSM Processes to Win Big
How OC Tanner Uses ITSM Processes to Win Big
Atlassian
 
Next-Level Incident Management: Culture Matters When Things Break
Next-Level Incident Management: Culture Matters When Things BreakNext-Level Incident Management: Culture Matters When Things Break
Next-Level Incident Management: Culture Matters When Things Break
Atlassian
 
Building a Successful Service Culture: How Airbnb Elevates with Jira Service ...
Building a Successful Service Culture: How Airbnb Elevates with Jira Service ...Building a Successful Service Culture: How Airbnb Elevates with Jira Service ...
Building a Successful Service Culture: How Airbnb Elevates with Jira Service ...
Atlassian
 
Supporting 15k Customers Without Losing Too Much Hair
Supporting 15k Customers Without Losing Too Much HairSupporting 15k Customers Without Losing Too Much Hair
Supporting 15k Customers Without Losing Too Much Hair
Atlassian
 
Become a Confluence Whiz Kid: Organized Spaces and Beautiful Pages
Become a Confluence Whiz Kid: Organized Spaces and Beautiful PagesBecome a Confluence Whiz Kid: Organized Spaces and Beautiful Pages
Become a Confluence Whiz Kid: Organized Spaces and Beautiful Pages
Atlassian
 
Atlassian User Group Insights: AUGment your Teams and Culture
Atlassian User Group Insights: AUGment your Teams and CultureAtlassian User Group Insights: AUGment your Teams and Culture
Atlassian User Group Insights: AUGment your Teams and Culture
Atlassian
 
Deep Dive Into Automation: Scaling Jira Service Desk
Deep Dive Into Automation: Scaling Jira Service DeskDeep Dive Into Automation: Scaling Jira Service Desk
Deep Dive Into Automation: Scaling Jira Service Desk
Atlassian
 

Viewers also liked (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
 
Modernizing Development - The Road to Agility and DevOps at Compuware
Modernizing Development - The Road to Agility and DevOps at CompuwareModernizing Development - The Road to Agility and DevOps at Compuware
Modernizing Development - The Road to Agility and DevOps at Compuware
 
Optimizing Git LFS Migration Through Repository Data-mining
Optimizing Git LFS Migration Through Repository Data-miningOptimizing Git LFS Migration Through Repository Data-mining
Optimizing Git LFS Migration Through Repository Data-mining
 
Web Performance at First Glance
Web Performance at First GlanceWeb Performance at First Glance
Web Performance at First Glance
 
Change Software Like a Scientist
Change Software Like a ScientistChange Software Like a Scientist
Change Software Like a Scientist
 
The Atlassian Bug Bounty Program
The Atlassian Bug Bounty ProgramThe Atlassian Bug Bounty Program
The Atlassian Bug Bounty Program
 
Continuously Integrating Distributed Code at Netflix
Continuously Integrating Distributed Code at NetflixContinuously Integrating Distributed Code at Netflix
Continuously Integrating Distributed Code at Netflix
 
How Talking Becomes Doing With Stride
How Talking Becomes Doing With StrideHow Talking Becomes Doing With Stride
How Talking Becomes Doing With Stride
 
It's All About Customer Experience: The Latest from Jira Service Desk
It's All About Customer Experience: The Latest from Jira Service DeskIt's All About Customer Experience: The Latest from Jira Service Desk
It's All About Customer Experience: The Latest from Jira Service Desk
 
How Atlassian Broke Down the Walls Between Support & Development
How Atlassian Broke Down the Walls Between Support & DevelopmentHow Atlassian Broke Down the Walls Between Support & Development
How Atlassian Broke Down the Walls Between Support & Development
 
The Power of Process: How Samsung Implemented ITIL
The Power of Process: How Samsung Implemented ITILThe Power of Process: How Samsung Implemented ITIL
The Power of Process: How Samsung Implemented ITIL
 
Upgrades and Admin at Scale: How to Become a Jira Admin Champion
Upgrades and Admin at Scale: How to Become a Jira Admin ChampionUpgrades and Admin at Scale: How to Become a Jira Admin Champion
Upgrades and Admin at Scale: How to Become a Jira Admin Champion
 
How The Trade Desk Built a Connected Team of 100+ Agents
How The Trade Desk Built a Connected Team of 100+ AgentsHow The Trade Desk Built a Connected Team of 100+ Agents
How The Trade Desk Built a Connected Team of 100+ Agents
 
How OC Tanner Uses ITSM Processes to Win Big
How OC Tanner Uses ITSM Processes to Win BigHow OC Tanner Uses ITSM Processes to Win Big
How OC Tanner Uses ITSM Processes to Win Big
 
Next-Level Incident Management: Culture Matters When Things Break
Next-Level Incident Management: Culture Matters When Things BreakNext-Level Incident Management: Culture Matters When Things Break
Next-Level Incident Management: Culture Matters When Things Break
 
Building a Successful Service Culture: How Airbnb Elevates with Jira Service ...
Building a Successful Service Culture: How Airbnb Elevates with Jira Service ...Building a Successful Service Culture: How Airbnb Elevates with Jira Service ...
Building a Successful Service Culture: How Airbnb Elevates with Jira Service ...
 
Supporting 15k Customers Without Losing Too Much Hair
Supporting 15k Customers Without Losing Too Much HairSupporting 15k Customers Without Losing Too Much Hair
Supporting 15k Customers Without Losing Too Much Hair
 
Become a Confluence Whiz Kid: Organized Spaces and Beautiful Pages
Become a Confluence Whiz Kid: Organized Spaces and Beautiful PagesBecome a Confluence Whiz Kid: Organized Spaces and Beautiful Pages
Become a Confluence Whiz Kid: Organized Spaces and Beautiful Pages
 
Atlassian User Group Insights: AUGment your Teams and Culture
Atlassian User Group Insights: AUGment your Teams and CultureAtlassian User Group Insights: AUGment your Teams and Culture
Atlassian User Group Insights: AUGment your Teams and Culture
 
Deep Dive Into Automation: Scaling Jira Service Desk
Deep Dive Into Automation: Scaling Jira Service DeskDeep Dive Into Automation: Scaling Jira Service Desk
Deep Dive Into Automation: Scaling Jira Service Desk
 

Similar to 10 Tips for Configuring Your Builds with Bamboo Specs

Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
hamidsamadi
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Edureka!
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
Marco Cedaro
 
Configuration as Code in Bamboo
Configuration as Code in BambooConfiguration as Code in Bamboo
Configuration as Code in Bamboo
Atlassian
 
From the designers laptop to the users
From the designers laptop to the usersFrom the designers laptop to the users
From the designers laptop to the users
uxpin
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFSMehdi Khalili
 
Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new build
Andrew Phillips
 
Source Code Management Slides
Source Code Management SlidesSource Code Management Slides
Source Code Management Slides
daschuck
 
Django Best Practices
Django Best PracticesDjango Best Practices
Django Best Practices
Abdullah Çetin ÇAVDAR
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
David Funaro
 
Managing Creativity
Managing CreativityManaging Creativity
Managing Creativity
kamaelian
 
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for AllLegacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
Muly Gottlieb
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
Erik Osterman
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
Andrew Bayer
 
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB
 
The View - Lotusscript coding best practices
The View - Lotusscript coding best practicesThe View - Lotusscript coding best practices
The View - Lotusscript coding best practicesBill Buchan
 
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
Jon Milsom
 
Building resuable and customizable Vue components
Building resuable and customizable Vue componentsBuilding resuable and customizable Vue components
Building resuable and customizable Vue components
Filip Rakowski
 
Atlanta Drupal Users Group - October 2015 - Success of the GT Redesign
Atlanta Drupal Users Group - October 2015 - Success of the GT RedesignAtlanta Drupal Users Group - October 2015 - Success of the GT Redesign
Atlanta Drupal Users Group - October 2015 - Success of the GT Redesign
Eric Sembrat
 
A sweet taste of clean code and software design
A sweet taste of clean code and software designA sweet taste of clean code and software design
A sweet taste of clean code and software design
Kfir Bloch
 

Similar to 10 Tips for Configuring Your Builds with Bamboo Specs (20)

Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
 
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
Chef vs Puppet vs Ansible vs SaltStack | Configuration Management Tools Compa...
 
Paris Web - Javascript as a programming language
Paris Web - Javascript as a programming languageParis Web - Javascript as a programming language
Paris Web - Javascript as a programming language
 
Configuration as Code in Bamboo
Configuration as Code in BambooConfiguration as Code in Bamboo
Configuration as Code in Bamboo
 
From the designers laptop to the users
From the designers laptop to the usersFrom the designers laptop to the users
From the designers laptop to the users
 
Application Lifecycle Management with TFS
Application Lifecycle Management with TFSApplication Lifecycle Management with TFS
Application Lifecycle Management with TFS
 
Deployment is the new build
Deployment is the new buildDeployment is the new build
Deployment is the new build
 
Source Code Management Slides
Source Code Management SlidesSource Code Management Slides
Source Code Management Slides
 
Django Best Practices
Django Best PracticesDjango Best Practices
Django Best Practices
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Managing Creativity
Managing CreativityManaging Creativity
Managing Creativity
 
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for AllLegacy On Premise Apps Got You Down? No Problem - DevOps for All
Legacy On Premise Apps Got You Down? No Problem - DevOps for All
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB FeatureMongoDB World 2018: How an Idea Becomes a MongoDB Feature
MongoDB World 2018: How an Idea Becomes a MongoDB Feature
 
The View - Lotusscript coding best practices
The View - Lotusscript coding best practicesThe View - Lotusscript coding best practices
The View - Lotusscript coding best practices
 
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
Pitchero - Increasing agility through DevOps - Leeds DevOps November 2016
 
Building resuable and customizable Vue components
Building resuable and customizable Vue componentsBuilding resuable and customizable Vue components
Building resuable and customizable Vue components
 
Atlanta Drupal Users Group - October 2015 - Success of the GT Redesign
Atlanta Drupal Users Group - October 2015 - Success of the GT RedesignAtlanta Drupal Users Group - October 2015 - Success of the GT Redesign
Atlanta Drupal Users Group - October 2015 - Success of the GT Redesign
 
A sweet taste of clean code and software design
A sweet taste of clean code and software designA sweet taste of clean code and software design
A sweet taste of clean code and software design
 

More from Atlassian

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

More from Atlassian (20)

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

Recently uploaded

AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 

Recently uploaded (20)

AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 

10 Tips for Configuring Your Builds with Bamboo Specs

  • 1. 10 Tips for Configuring Your Builds with Bamboo Specs PRZEMEK BRUSKI | BAMBOO ARCHITECT | ATLASSIAN
  • 2. Agenda Configuration as Code Declarative or imperative? Using Specs at scale Bamboo Summit highlights
  • 3. Agenda Configuration as Code Declarative or imperative? Using Specs at scale Bamboo Summit highlights
  • 4. Agenda Configuration as Code Declarative or imperative? Using Specs at scale Bamboo Summit highlights
  • 5. Agenda Configuration as Code Declarative or imperative? Using Specs at scale Bamboo Summit highlights
  • 7. Black box Configuration is hidden, cannot be versioned or peer reviewed UI-driven configuration does not scale No bulk operations A simple change can be very tedious if you have to do it across the whole instance Clone is not your friend Limited sharing of common entities
  • 8. Black box Configuration is hidden, cannot be versioned or peer reviewed UI-driven configuration does not scale No bulk operations A simple change can be very tedious if you have to do it across the whole instance Clone is not your friend Limited sharing of common entities
  • 9. Black box Configuration is hidden, cannot be versioned or peer reviewed UI-driven configuration does not scale No bulk operations A simple change can be very tedious if you have to do it across the whole instance Clone is not your friend Limited sharing of common entities
  • 10. Configuration as Code: representing the configuration of a system through source code. CONFIGURATION AS CODE - THE CONCEPT
  • 12. Choosing the language Or, the great “declarative vs imperative” debate
  • 13. Declarative Define what needs to be done. The definition is then interpreted. Imperative Define exactly how to do something. Declarative or imperative?
  • 14. Declarative Define what needs to be done. The definition is then interpreted. Imperative Define exactly how to do something. Declarative or imperative?
  • 15. image: node:4.6.0 pipelines: default: - step: script: - npm install - npm test Declarative Example Advantages Disadvantages
  • 16. Declarative Example Advantages Disadvantages Compact Easy to read, low syntax clutter Flat learning curve Master a few rules = master the language No entry barrier Use your standard tools to edit it
  • 17. Declarative Example Advantages Disadvantages Harder to scale Internal compliance, a lot of definitions. Reuse Reuse is a problem Validation No validation out of the box
  • 18. image: node:4.6.0 pipelines: default: - step: script: - npm install - npm test Imperative Example Advantages Disadvantages
  • 19. Imperative Example Advantages Disadvantages Easy to scale Templates, central management. Reuse Reuse is an inherent part of the approach Integration with tools Context sensitive documentation, completion, validation…
  • 20. Imperative Example Advantages Disadvantages Harder to start Tooling setup. Steeper learning curve For non-Java users Inviting complexity 700+ plans is a lot…
  • 21. Powerful definition languages are the easiest way to manage a big CI instance. CHOOSING THE LANGUAGE
  • 22. On every big instance we have small, independent teams. CHOOSING THE LANGUAGE
  • 25. 10* Tips for managing your instance *Actually a bit more
  • 26. Simpler for simple use cases Simplicity of YAML Gateway to Specs At some point your projects need more Containers for free The whole build is containerised #1 Use Pipelines YAML
  • 27. Simpler for simple use cases Simplicity of YAML Gateway to Specs At some point your projects need more Containers for free The whole build is containerised #1 Use Pipelines YAML
  • 28. Simpler for simple use cases Simplicity of YAML Gateway to Specs At some point your projects need more Containers for free The whole build is containerised #1 Use Pipelines YAML
  • 29. Generate specs from a plan Never start on your own Using exporter Simple right click and you get a working spec definition #2 Use exporter to start with Specs
  • 30. Generate specs from a plan Never start on your own Using exporter Simple right click and you get a working spec definition #2 Use exporter to start with Specs
  • 31. Use exporter to start with Specs
  • 32. Task are a useful UI building block But “we’re not in UI anymore” Easier to run locally Tasks are Bamboo-specific #3 Prefer script tasks
  • 33. Task are a useful UI building block But “we’re not in UI anymore” Easier to run locally Tasks are Bamboo-specific #3 Prefer script tasks
  • 34. Dry run A disabled plan is sent to the server Works with Maven and IDE You can test IDE mode and RSS mode #4 Dry run your specs
  • 35. Dry run A disabled plan is sent to the server Works with Maven and IDE You can test both the IDE mode and RSS mode #4 Dry run your specs
  • 36. Result of a dry run
  • 37. A simple change can have big impact Usually good, but sometimes undesired Generate YAML locally And version it with the review. You can make it mandatory too. #5 Include YAML in reviews
  • 38. A simple change can have big impact Usually good, but sometimes undesired Generate YAML locally And version it with the review. You can make it mandatory too. #5 Include YAML in reviews
  • 39. Shared entities are great But no longer necessary. Encryption Instance-wide encryption makes it safe to share credentials #6 Move variables/ credentials to Specs
  • 40. Shared entities are great But no longer necessary. Encryption Instance-wide encryption makes it safe 
 to share credentials #6 Move variables/ credentials to Specs
  • 41. Define policies, tiers Empower the champion Not a “Fix red build role” He needs to define how the red builds are handled It’s going to happen anyway Specs or not, at 100+ plans your instance is complex. #7 Find build champions
  • 42. Define policies, tiers Empower the champion Not a “Fix red build role” He needs to define how the red builds are handled It’s going to happen anyway Specs or not, at 100+ plans your instance is complex. #7 Find build champions
  • 43. Define policies, tiers Empower the champion Not a “Fix red build role” He needs to define how the red builds are handled It’s going to happen anyway Specs or not, at 100+ plans your instance is complex. #7 Find build champions
  • 44. Working with many plans is a hassle Flaky tests, email spam, red wallboards Define plan tiers E.g. “Always green”, “Green CoB”, “Green at Sprint end” Alternative: merge plans Having a “Mega Plan” reduces the amount of noise #8 Organise plans into tiers
  • 45. Working with many plans is a hassle Flaky tests, email spam, red wallboards Define plan tiers E.g. “Always green”, “Green CoB”, “Green at Sprint end” Alternative: merge plans Having a “Mega Plan” reduces the amount of noise #8 Organise plans into tiers
  • 46. Working with many plans is a hassle Flaky tests, email spam, red wallboards Define plan tiers E.g. “Always green”, “Green CoB”, “Green at Sprint end” Alternative: merge plans Having a “Mega Plan” reduces the amount of noise #8 Organise plans into tiers
  • 47. Organise your plans into tiers
  • 48. Feature branches Feature branches for maintenance branches are a problem Plan branches for repo Redefine repositories per product branch #9 Create separate projects for releases
  • 49. Feature branches Feature branches for maintenance branches are a problem Plan branches for repo Redefine repositories per product branch #9 Create separate projects for releases
  • 52. New microservices or projects A starting point or a template for your plan Policy enforcement A team can own a template or a component #10 Template your organisation
  • 53. New microservices or projects A starting point or a template for your plan Policy enforcement A team can own a template or a component #10 Template your organisation
  • 54. What is AnyTask A Specs class that can represent any custom task Exporter can help A definition will be created automatically. #11 AnyTask is there for your custom plugins
  • 55. What is AnyTask A Specs class that can represent any custom task Exporter can help A definition will be created automatically. #11 AnyTask is there for your custom plugins
  • 56. AnyTask is there for your custom plugins
  • 59. Store your Specs in Bitbucket Flaky tests, email spam, red wallboards Use Bitbucket Server to track changes Audit log on steroids Use Pull Requests for 
 extra control Plan changes will become active after PR merge Use Specs for Bitbucket Server
  • 60. Store your Specs in Bitbucket Flaky tests, email spam, red wallboards Use Bitbucket Server to track changes Audit log on steroids Use Pull Requests for 
 extra control Plan changes will become active after PR merge Use Specs for Bitbucket Server
  • 61. Store your Specs in Bitbucket Flaky tests, email spam, red wallboards Use Bitbucket Server to track changes Audit log on steroids Use Pull Requests for 
 extra control Plan changes will become active after PR merge Use Specs for Bitbucket Server
  • 65. Bamboo Summit highlights Visit us at the booth to find out more
  • 66. The world doesn’t end with Specs Performance improvements, new tiers 1000 agents need more performance: Bulk operations no longer affect UI Smart mirrors Have your Bitbucket Server mirrors handle the agent traffic with ease Project level permissions You no longer need to hand out instance-wide permissions anymore. Artifact handlers Let S3/NFS handle your 
 artifacts. Scalably.
  • 67. Thank you! PRZEMEK BRUSKI | BAMBOO ARCHITECT | ATLASSIAN