BUILD AND RELEASE MANAGEMENT @ AMD Central Texas Atlassian User group meeting Nassim Kammah May 18, 2011
Software written in C++, java, ruby, python and running in Unix and windows environment Developer heavily rely on JIRA to organize their work (agile teams) SVN is used for revision control: Developers work off the trunk Branches are created at the end of a sprint, for a given version Releases are made off the branches and tagged Developers are scattered across Austin, Singapore, Suzhou    packages released in 3 sites Custom artifacts repository that stores files on the NAS and keep them synced across sites Atlassian products in use: JIRA: 279 projects Bamboo : 115 plans in 22 groups Fisheye Crucible BACKGROUND INFORMATION
JIRA + BAMBOO RELEASE PROCESS IMPLEMENTATION 4 User request a Build via JIRA ticket  (workflow action) 1 3 Bamboo runs a “build automation” suite that handles the build and release flow. JIRA bamboo Build Automation Scripts 2 Jython code is triggered on workflow transition and queues the build in Bamboo Build script update JIRA ticket Build script deploys to all sites AUSTIN SINGAPORE SUZHOU In Progress RC build requested Final build requested Build In Progress *locking state Build Release Candidate Build Production Release Start Build Start Build Build Successful Build Failed JIRA Build Workflow excerpt Transition executed by user – Jython post function triggers the build Transition executed by build automation script Release Preparation   (done once at the end of the sprint) Set Major/Minor version Branch Create JIRA validation tickets Actual release  ( release candidate/ final release/patch release) Increment version Tag Checkout tag Compile, test, package Deploy to all sites Generate release notes (version matrix, JIRA issues, …)
EXAMPLE OF RELEASE NOTES JIRA ticket list generated from the svn log Version matrix that highlights dependencies versions difference between previous and current release
 
A MORE COMPLEX BUILD PIPELINE  (LEVERAGES BAMBOO3.0 STAGES) Lock JIRA ticket Tag Checkout Compile Unit test Package Stage Run integration test Checkout Compile Unit test Package Stage Checkout Compile Unit test Package Stage Release packages Send release notes Win32  java Win32  java & c++ Rhel5  java + c++
Python based framework  developed in house SOAP api for JIRA interaction, JQL queries + xml parsing, Bamboo Rest api, python svn  wrapper Leverages a base plans and standard actions ( tag/release/send release notes) Heavily unit tested + integration tested ( on dev JIRA + dev svn) Test mode ( to point to a dev JIRA), logging capabilities) The build automation framework doesn’t contain the logic to build the various projects : it invokes the various project “build  tools”    ./build.sh clean compile test package The whole framework could potentially be deprecated with bamboo3.1 and the introduction of build stages, Tasks and Final tasks and/or Atlassian release management plugin. Push the automation to the max and save hours to your developers ( create tickets automatically, generate release notes based on JIRA fields/info in your project…) Sharing unix and windows workspace can be painful (we’re getting around it using unix automount + windows DFS) Beware : after some time, your users WILL forget the manual process BUILD AUTOMATION FRAMEWORK AND LESSONS LEARNED
Trademark Attribution AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc. in the United States and/or other jurisdictions. Other names used in this presentation are for identification purposes only and may be trademarks of their respective owners.  ©2011 Advanced Micro Devices, Inc. All rights reserved.
JIRA WORKFLOW JYTHON SNIPPET
BUILD AUTOMATION FRAMEWORK Build Steps A standard action
bin/build_automation projectName --build-type=auto --bamboo-buildKey=${bamboo.buildKey} --bamboo-buildNumber=${bamboo.buildNumber}  --sandbox=/var/tmp --package-directory=/path/to/artifact/repo BAMBOO BUILD COMMAND Output of bin/build_automation --help

More Related Content

PPT
What's new in p2 (2009)?
PPTX
Java Class1
PPTX
OpenJFX on Android and Devices
PDF
Upgrade to java 16 or 17
PPTX
Java dev mar_2021_keynote
PDF
Software development is dead, long live collaborative delivery
PDF
Building the VM
What's new in p2 (2009)?
Java Class1
OpenJFX on Android and Devices
Upgrade to java 16 or 17
Java dev mar_2021_keynote
Software development is dead, long live collaborative delivery
Building the VM

Viewers also liked (20)

PDF
Automating your processes with JIRA
ODP
Mantis Bug Tracker & Task Management System
DOCX
QTDA_[Scrum vs Kanban]_XP
PDF
Anatomy of a JIRA Feature - Atlassian Summit 2010 - Lightning Talks
PDF
2. ap dung lean startup vao be rich slide
PPTX
Thesis - An application to manage software development process.
PDF
ScrumDay Vietnam 2013: Công nghệ thông tin trong kỷ nguyên toàn cầu hóa - Chu...
PDF
Building Atlassian Plugins with Groovy - Atlassian Summit 2010 - Lightning Talks
PDF
Auditing Your Build and Release Infrastructure - Atlassian Summit 2010 - Ligh...
PDF
Kyna.vn - Growth hack from small changes
PDF
Kĩ năng ứng dụng CNTT trong tìm việc làm và khởi nghiệp - ĐH KHXH& NV - Micro...
PDF
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...
PDF
ScrumDay Vietnam 2013: PMBOK là Waterfall hay Agile? - Phùng Thanh Cường
PDF
Đường vào agile - 2013
PDF
ScrumDay Vietnam 2013: Ứng dụng Jira trong Phát triển Phần mềm Linh hoạt - Ng...
PPT
Jira and Confluence - How the company behind those products works - Anatoli K...
PPTX
Test Management System (TMS) using JIRA Customization
PDF
Business value pipeline with atlassian products
PPTX
JIRA & Stach, The Love Story
PPTX
Jira live demo 2017
Automating your processes with JIRA
Mantis Bug Tracker & Task Management System
QTDA_[Scrum vs Kanban]_XP
Anatomy of a JIRA Feature - Atlassian Summit 2010 - Lightning Talks
2. ap dung lean startup vao be rich slide
Thesis - An application to manage software development process.
ScrumDay Vietnam 2013: Công nghệ thông tin trong kỷ nguyên toàn cầu hóa - Chu...
Building Atlassian Plugins with Groovy - Atlassian Summit 2010 - Lightning Talks
Auditing Your Build and Release Infrastructure - Atlassian Summit 2010 - Ligh...
Kyna.vn - Growth hack from small changes
Kĩ năng ứng dụng CNTT trong tìm việc làm và khởi nghiệp - ĐH KHXH& NV - Micro...
ScrumDay Vietnam 2013: Phương pháp luận phần mềm - Truyền thống và Agile - Ng...
ScrumDay Vietnam 2013: PMBOK là Waterfall hay Agile? - Phùng Thanh Cường
Đường vào agile - 2013
ScrumDay Vietnam 2013: Ứng dụng Jira trong Phát triển Phần mềm Linh hoạt - Ng...
Jira and Confluence - How the company behind those products works - Anatoli K...
Test Management System (TMS) using JIRA Customization
Business value pipeline with atlassian products
JIRA & Stach, The Love Story
Jira live demo 2017
Ad

Similar to Ctxaug 02 amd atlassian build pipeline (20)

PPTX
Atlassian Bamboo Feature Overview
PDF
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
PPTX
Continuous integration using atlassian bamboo
PDF
[Perforce] Adventures in Build
PPTX
Automating the build and deployment of legacy applications
PDF
London Atlassian User Group - February 2014
PDF
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
PPTX
Devops
PDF
Apache Continuum Build, Test, and Release
PDF
Scaling to 150,000 Builds a Month... and Beyond
PPT
Java Build Tools
PDF
Webinar on deployment automation Xebialabs - 15 sept 2010
PDF
Build server
PPTX
Maven, Archiva, Subversion and Team City
PPT
Extreme CI Savings with Bamboo 3.1: The JIRA Story
PDF
Jenkins
PPTX
Learn About Continuous Integration With Hudson Directly From the Source
PDF
Using CI for continuous delivery Part 3
PDF
Automated Deployment with Maven - going the whole nine yards
Atlassian Bamboo Feature Overview
Change and Release Management with JIRA and Bamboo - Atlassian Summit 2010
Continuous integration using atlassian bamboo
[Perforce] Adventures in Build
Automating the build and deployment of legacy applications
London Atlassian User Group - February 2014
Practical Continuous Deployment - Atlassian - London AUG 18 Feb 2014
Devops
Apache Continuum Build, Test, and Release
Scaling to 150,000 Builds a Month... and Beyond
Java Build Tools
Webinar on deployment automation Xebialabs - 15 sept 2010
Build server
Maven, Archiva, Subversion and Team City
Extreme CI Savings with Bamboo 3.1: The JIRA Story
Jenkins
Learn About Continuous Integration With Hudson Directly From the Source
Using CI for continuous delivery Part 3
Automated Deployment with Maven - going the whole nine yards
Ad

Recently uploaded (20)

PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
Unlock new opportunities with location data.pdf
PPTX
Benefits of Physical activity for teenagers.pptx
PPT
What is a Computer? Input Devices /output devices
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
Modernising the Digital Integration Hub
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
A review of recent deep learning applications in wood surface defect identifi...
PPT
Geologic Time for studying geology for geologist
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
Architecture types and enterprise applications.pdf
PDF
Hybrid model detection and classification of lung cancer
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Getting started with AI Agents and Multi-Agent Systems
PPTX
O2C Customer Invoices to Receipt V15A.pptx
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
sustainability-14-14877-v2.pddhzftheheeeee
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Tartificialntelligence_presentation.pptx
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
Unlock new opportunities with location data.pdf
Benefits of Physical activity for teenagers.pptx
What is a Computer? Input Devices /output devices
Group 1 Presentation -Planning and Decision Making .pptx
Modernising the Digital Integration Hub
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A review of recent deep learning applications in wood surface defect identifi...
Geologic Time for studying geology for geologist
Module 1.ppt Iot fundamentals and Architecture
Architecture types and enterprise applications.pdf
Hybrid model detection and classification of lung cancer
Zenith AI: Advanced Artificial Intelligence
Chapter 5: Probability Theory and Statistics
Getting started with AI Agents and Multi-Agent Systems
O2C Customer Invoices to Receipt V15A.pptx

Ctxaug 02 amd atlassian build pipeline

  • 1. BUILD AND RELEASE MANAGEMENT @ AMD Central Texas Atlassian User group meeting Nassim Kammah May 18, 2011
  • 2. Software written in C++, java, ruby, python and running in Unix and windows environment Developer heavily rely on JIRA to organize their work (agile teams) SVN is used for revision control: Developers work off the trunk Branches are created at the end of a sprint, for a given version Releases are made off the branches and tagged Developers are scattered across Austin, Singapore, Suzhou  packages released in 3 sites Custom artifacts repository that stores files on the NAS and keep them synced across sites Atlassian products in use: JIRA: 279 projects Bamboo : 115 plans in 22 groups Fisheye Crucible BACKGROUND INFORMATION
  • 3. JIRA + BAMBOO RELEASE PROCESS IMPLEMENTATION 4 User request a Build via JIRA ticket (workflow action) 1 3 Bamboo runs a “build automation” suite that handles the build and release flow. JIRA bamboo Build Automation Scripts 2 Jython code is triggered on workflow transition and queues the build in Bamboo Build script update JIRA ticket Build script deploys to all sites AUSTIN SINGAPORE SUZHOU In Progress RC build requested Final build requested Build In Progress *locking state Build Release Candidate Build Production Release Start Build Start Build Build Successful Build Failed JIRA Build Workflow excerpt Transition executed by user – Jython post function triggers the build Transition executed by build automation script Release Preparation (done once at the end of the sprint) Set Major/Minor version Branch Create JIRA validation tickets Actual release ( release candidate/ final release/patch release) Increment version Tag Checkout tag Compile, test, package Deploy to all sites Generate release notes (version matrix, JIRA issues, …)
  • 4. EXAMPLE OF RELEASE NOTES JIRA ticket list generated from the svn log Version matrix that highlights dependencies versions difference between previous and current release
  • 5.  
  • 6. A MORE COMPLEX BUILD PIPELINE (LEVERAGES BAMBOO3.0 STAGES) Lock JIRA ticket Tag Checkout Compile Unit test Package Stage Run integration test Checkout Compile Unit test Package Stage Checkout Compile Unit test Package Stage Release packages Send release notes Win32 java Win32 java & c++ Rhel5 java + c++
  • 7. Python based framework developed in house SOAP api for JIRA interaction, JQL queries + xml parsing, Bamboo Rest api, python svn wrapper Leverages a base plans and standard actions ( tag/release/send release notes) Heavily unit tested + integration tested ( on dev JIRA + dev svn) Test mode ( to point to a dev JIRA), logging capabilities) The build automation framework doesn’t contain the logic to build the various projects : it invokes the various project “build tools”  ./build.sh clean compile test package The whole framework could potentially be deprecated with bamboo3.1 and the introduction of build stages, Tasks and Final tasks and/or Atlassian release management plugin. Push the automation to the max and save hours to your developers ( create tickets automatically, generate release notes based on JIRA fields/info in your project…) Sharing unix and windows workspace can be painful (we’re getting around it using unix automount + windows DFS) Beware : after some time, your users WILL forget the manual process BUILD AUTOMATION FRAMEWORK AND LESSONS LEARNED
  • 8. Trademark Attribution AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc. in the United States and/or other jurisdictions. Other names used in this presentation are for identification purposes only and may be trademarks of their respective owners. ©2011 Advanced Micro Devices, Inc. All rights reserved.
  • 10. BUILD AUTOMATION FRAMEWORK Build Steps A standard action
  • 11. bin/build_automation projectName --build-type=auto --bamboo-buildKey=${bamboo.buildKey} --bamboo-buildNumber=${bamboo.buildNumber} --sandbox=/var/tmp --package-directory=/path/to/artifact/repo BAMBOO BUILD COMMAND Output of bin/build_automation --help

Editor's Notes

  • #4: Click on the hexagons (1, 2, 3, 4) for more details.