SlideShare uma empresa Scribd logo
1 de 22
Bamboo Plugins
               And Remote Agents




Brydie McCoy
Me
 Brydie McCoy

 5 years on Bamboo

 Mainly Java, but not
 exclusive

 Written many plugin points
 and plugins
Bamboo Concepts
Agents
                                Machine B
                                Remote Agent


                                Remote Agent
          Machine A
Bamboo Server

                 Remote Agent
 Local Agent
                                               Amazon Elastic
 Local Agent                                      Cloud
 Local Agent                                      Elastic Agent


                                                  Elastic Agent


                                                  Elastic Agent
Tasks
Terminolgy
                 User                                    Developer

                 Plan                     Chain, TopLevelPlan, Build (legacy)

                Stage                                    ChainStage

                  Job                         Job, Buildable, Build (legacy)

             Plan Branch                                ChainBranch

 Build/Plan Result/Build Result                   ChainResultSummary

            Stage Result                             ChainStageResult

              Job Result                          BuildResultsSummary

+ “Plan” is the common interface for all Jobs, Chains and Branches
+ Immutable versions of most of these classes.
Bamboo Is not for
    everyone.
CI is complex

Lack of resources and and expertise

You don’t want us writing support for your
systems

Bamboo would become bloated.
Yet.


Bamboo is a plugin platform

Fill holes in the market

Fill holes in your team
Available Plugin
    points in Bamboo
Build Agent Requirement Filter Module       Report Module
Build Complete Action Module                Web Repository Viewer Module
Build Processor Module                      XWork Plugin Module
Build Processor Server Module               Capability Type Module
Build Trigger Condition Module              Index Reader Module
Command Decorator Module                    Plan Deletion Interceptor Action Module
Custom Build Definition Transformer Module   Post Build Index Writer Module
Post-Build Completed Action Module          Post Chain Index Writer Module
Post-Chain Action Module                    Event Listeners (33 events to lock into?)
Post-Job Action Module                      Component Import Plugin Module
Post-Stage Action Module                    Component Plugin Module
Pre-Build Action Module                     Module Type Plugin Module
Pre-Build Queued Action                     Servlet Context Listener Plugin Module
Pre-Chain Action Module                     Servlet Context Parameter Plugin Module
Pre-Job Action Module                       Servlet Filter Plugin Module
Pre-Stage Action Module                     Servlet Plugin Module
Restart Failed Stage Action Module          Template Context Item Plugin Module
Resume Manual Stage Action Module           Web Item Plugin Module
Stop On Manual Stage Action Module          Web Panel Plugin Module
Source Repository Module                    Web Panel Renderer Plugin Module
Task Plugin Module                          Web Resource Plugin Module
Trigger Reason Module                       Web Resource Transformer Plugin Module
Notification Condition Module                Web Section Plugin Module
Notification Recipient Module                REST plugin module type
Notification Type Module                     Gadget plugin module type
Additional Build Configuration Module
Build Process
    Build is Triggered        Trigger Reason
                              Trigger Condition

 Changes retrieved for all
      repositories
                              Source Repository



  Allocate Build Number
Creation and persistence of
    Database Objects
Creation of Build Contexts



                              Pre Chain
  Begin Chain Execution
                              Action



     Branch Merging




    Stage Execution
         Logic



       Branch Push




                              Post Chain
 Finalise Chain Execution
                              Action


     Chain Execution
       Complete
Requirements + Capabalties
                                           Failed Stage Restarted                     Calculated                  Pre Build Queued Action
                                           Manual Stage Resumed Action        Jobs Places on JMS queue
        Execute Next Stage                                                                                        Build Agent Requirement Fileter
                                           Pre Stage Action                                                       Capability Type

                                           Pre Job                                       Job
                                                                                        Queue
      Trigger all jobs for stage           Action



                                                                                     Wait For Job
          Job Execution
                                                                                     Completeion
              Logic



           Finalise Stage                 Post Stage
                                          Action                                     Process Job
               State                                                                                       Build Processor Server
                                                                                        Result


                                                                         No
         Did the last stage
                                    Yes                                                Save Job
                                                                                                           Post Build Index Writer
                fail?                                                              to DB and Index


           No
                                                                                   Tell chain the Job       Post Job
                                    Yes        Stop on Manual Stage
                                                                                        is finished          Action
           Have we hit a
           manual stage


           No
                                                                                   Post Job Events         Post Build Complete Action
                                   No
Yes       Is there another
            stage to run?



                                                                                    Are All Jobs In
                                                                                    Stage Finished?
Job
              Queue                                    Agent
           Prepare build
            directories



         Retrieve artifacts
                                 Source Repository

                                                      Process
           from server




           Prepare Job            Pre Build Action



        Run Regular Task          Task
                                  Command Decorator
                                  Source Repository
Yes

         Did task Succeed?
       Is there Another Task?


                   No

          Run Finalising          Task
              Task                Command Decorator
                                  Source Repository
Yes

       Is there Another Task?



                   No

       Calculate Build State
                                  Build Processor
      Send Artifacts to Server



        Send Results Back
            To Server
Remote Agents
   Taking Storm

Customers have too many builds

Customers need multiple OS, platforms or
devices

On Demand - Remote is the only option
Whats available?
        Not Available              Available

•Database
  •Bandana
  •ActiveMQ             •Build Working Directory
•File System            •Passed Artifacts
  •Lucene Index         •Checkout out code
•Other Plans            •Products of previous tasks
•Previous Jobs          •Job Configuration
•Historical data
•Managers
Tasks
TaskDefinition
TaskConfiguration
TaskContext




BuildContext.getBuildResult.getTaskResults().
SavingTaskData




BuildContext.getBuildResult.getTaskR
esults().
CustomDataMap

Mais conteúdo relacionado

Mais procurados

Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...
Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...
Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...
Kai Wähner
 
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
devCAT Studio, NEXON
 
Ilya Repin A Painter from Ukraine (Version with pictures)
Ilya Repin A Painter from Ukraine (Version with pictures)Ilya Repin A Painter from Ukraine (Version with pictures)
Ilya Repin A Painter from Ukraine (Version with pictures)
Thomas M. Prymak
 

Mais procurados (20)

Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...
Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...
Apache Kafka in the Telco Industry (OSS, BSS, OTT, IMS, NFV, Middleware, Main...
 
Application Networks: Microservices and APIs at Netflix
Application Networks: Microservices and APIs at NetflixApplication Networks: Microservices and APIs at Netflix
Application Networks: Microservices and APIs at Netflix
 
Conceitos de SOA
Conceitos de SOAConceitos de SOA
Conceitos de SOA
 
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
클라우드 네이티브 전환 요소 및 성공적인 쿠버네티스 도입 전략
 
(진성리더십 특강) 일과 삶의 문제를 드라이브하라! 퍼스널 애자일, 퍼스널 칸반
(진성리더십 특강) 일과 삶의 문제를 드라이브하라! 퍼스널 애자일, 퍼스널 칸반(진성리더십 특강) 일과 삶의 문제를 드라이브하라! 퍼스널 애자일, 퍼스널 칸반
(진성리더십 특강) 일과 삶의 문제를 드라이브하라! 퍼스널 애자일, 퍼스널 칸반
 
AI-900 ポイント解説
AI-900 ポイント解説AI-900 ポイント解説
AI-900 ポイント解説
 
프로그래머스 프론트엔드 아키텍처 변천사: 좋은 개발 경험을 찾아서
프로그래머스 프론트엔드 아키텍처 변천사: 좋은 개발 경험을 찾아서프로그래머스 프론트엔드 아키텍처 변천사: 좋은 개발 경험을 찾아서
프로그래머스 프론트엔드 아키텍처 변천사: 좋은 개발 경험을 찾아서
 
IT서비스관리 표준, ISO20000의 이해
IT서비스관리 표준, ISO20000의 이해IT서비스관리 표준, ISO20000의 이해
IT서비스관리 표준, ISO20000의 이해
 
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
홍성우, 게임 서버의 목차 - 시작부터 출시까지, NDC2019
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
A lifecycle for microservices
A lifecycle for microservicesA lifecycle for microservices
A lifecycle for microservices
 
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
 
IoTプラットフォーム主要ベンダ相関図2017Apr.
IoTプラットフォーム主要ベンダ相関図2017Apr.IoTプラットフォーム主要ベンダ相関図2017Apr.
IoTプラットフォーム主要ベンダ相関図2017Apr.
 
Ilya Repin A Painter from Ukraine (Version with pictures)
Ilya Repin A Painter from Ukraine (Version with pictures)Ilya Repin A Painter from Ukraine (Version with pictures)
Ilya Repin A Painter from Ukraine (Version with pictures)
 
Virtual Chassis for Cloud Builders
Virtual Chassis for Cloud BuildersVirtual Chassis for Cloud Builders
Virtual Chassis for Cloud Builders
 
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
 
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
Python의 계산성능 향상을 위해 Fortran, C, CUDA-C, OpenCL-C 코드들과 연동하기
 
[FR] C'est quoi une API ?
[FR] C'est quoi une API ?[FR] C'est quoi une API ?
[FR] C'est quoi une API ?
 
そのアプリ開発 PowerAppsでやるか否かの指針?(※個人的見解)
そのアプリ開発PowerAppsでやるか否かの指針?(※個人的見解)そのアプリ開発PowerAppsでやるか否かの指針?(※個人的見解)
そのアプリ開発 PowerAppsでやるか否かの指針?(※個人的見解)
 
API Design Patterns: a guide to better APIs
API Design Patterns: a guide to better APIsAPI Design Patterns: a guide to better APIs
API Design Patterns: a guide to better APIs
 

Semelhante a Developing for Remote Bamboo Agents, AtlasCamp US 2012

Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
manssandstrom
 
Extending Workflow Foundation With Custom Activities
Extending Workflow Foundation With Custom ActivitiesExtending Workflow Foundation With Custom Activities
Extending Workflow Foundation With Custom Activities
rsnarayanan
 
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft AjaxThe Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
Darren Sim
 
Selenium conference 2012 - One Step At A Time
Selenium conference 2012 - One Step At A TimeSelenium conference 2012 - One Step At A Time
Selenium conference 2012 - One Step At A Time
Anand Ramdeo
 
When Two Worlds Collide: Java and Ruby in the Enterprise
When Two Worlds Collide: Java and Ruby in the EnterpriseWhen Two Worlds Collide: Java and Ruby in the Enterprise
When Two Worlds Collide: Java and Ruby in the Enterprise
benbrowning
 
Adopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextAdopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy Context
Xavier Warzee
 
Introduction to RamLog
Introduction to RamLogIntroduction to RamLog
Introduction to RamLog
CorrieTaljaard
 

Semelhante a Developing for Remote Bamboo Agents, AtlasCamp US 2012 (20)

Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
Att lyckas med integration av arbetet från flera scrum team - Christophe Acho...
 
Extending Workflow Foundation With Custom Activities
Extending Workflow Foundation With Custom ActivitiesExtending Workflow Foundation With Custom Activities
Extending Workflow Foundation With Custom Activities
 
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft AjaxThe Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
The Web Development Eco-system with VSTS, ASP.NET 2.0 & Microsoft Ajax
 
Selenium conference 2012 - One Step At A Time
Selenium conference 2012 - One Step At A TimeSelenium conference 2012 - One Step At A Time
Selenium conference 2012 - One Step At A Time
 
Java Batch
Java BatchJava Batch
Java Batch
 
Java Starting
Java StartingJava Starting
Java Starting
 
When Two Worlds Collide: Java and Ruby in the Enterprise
When Two Worlds Collide: Java and Ruby in the EnterpriseWhen Two Worlds Collide: Java and Ruby in the Enterprise
When Two Worlds Collide: Java and Ruby in the Enterprise
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
 
Efficient Android Threading
Efficient Android ThreadingEfficient Android Threading
Efficient Android Threading
 
Adopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy ContextAdopting Agile Tools & Methods In A Legacy Context
Adopting Agile Tools & Methods In A Legacy Context
 
Spring batch showCase
Spring batch showCaseSpring batch showCase
Spring batch showCase
 
Porting Java App To Cloud
Porting Java App To CloudPorting Java App To Cloud
Porting Java App To Cloud
 
Make the code work for you with #git
Make the code work for you with #gitMake the code work for you with #git
Make the code work for you with #git
 
Software Testen mit Visual Studio Lab Management
Software Testen mit Visual Studio Lab ManagementSoftware Testen mit Visual Studio Lab Management
Software Testen mit Visual Studio Lab Management
 
MEW22 22nd Machine Evaluation Workshop Microsoft
MEW22 22nd Machine Evaluation Workshop MicrosoftMEW22 22nd Machine Evaluation Workshop Microsoft
MEW22 22nd Machine Evaluation Workshop Microsoft
 
Bamboo - an introduction
Bamboo - an introductionBamboo - an introduction
Bamboo - an introduction
 
Introduction to RamLog
Introduction to RamLogIntroduction to RamLog
Introduction to RamLog
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and Chellenges
 
camunda fox BPMN framework
camunda fox BPMN frameworkcamunda fox BPMN framework
camunda fox BPMN framework
 
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructureModernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructure
 

Mais de 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
 

Mais de 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
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Developing for Remote Bamboo Agents, AtlasCamp US 2012

  • 1. Bamboo Plugins And Remote Agents Brydie McCoy
  • 2. Me Brydie McCoy 5 years on Bamboo Mainly Java, but not exclusive Written many plugin points and plugins
  • 3.
  • 5. Agents Machine B Remote Agent Remote Agent Machine A Bamboo Server Remote Agent Local Agent Amazon Elastic Local Agent Cloud Local Agent Elastic Agent Elastic Agent Elastic Agent
  • 7. Terminolgy User Developer Plan Chain, TopLevelPlan, Build (legacy) Stage ChainStage Job Job, Buildable, Build (legacy) Plan Branch ChainBranch Build/Plan Result/Build Result ChainResultSummary Stage Result ChainStageResult Job Result BuildResultsSummary + “Plan” is the common interface for all Jobs, Chains and Branches + Immutable versions of most of these classes.
  • 8. Bamboo Is not for everyone. CI is complex Lack of resources and and expertise You don’t want us writing support for your systems Bamboo would become bloated.
  • 9. Yet. Bamboo is a plugin platform Fill holes in the market Fill holes in your team
  • 10. Available Plugin points in Bamboo Build Agent Requirement Filter Module Report Module Build Complete Action Module Web Repository Viewer Module Build Processor Module XWork Plugin Module Build Processor Server Module Capability Type Module Build Trigger Condition Module Index Reader Module Command Decorator Module Plan Deletion Interceptor Action Module Custom Build Definition Transformer Module Post Build Index Writer Module Post-Build Completed Action Module Post Chain Index Writer Module Post-Chain Action Module Event Listeners (33 events to lock into?) Post-Job Action Module Component Import Plugin Module Post-Stage Action Module Component Plugin Module Pre-Build Action Module Module Type Plugin Module Pre-Build Queued Action Servlet Context Listener Plugin Module Pre-Chain Action Module Servlet Context Parameter Plugin Module Pre-Job Action Module Servlet Filter Plugin Module Pre-Stage Action Module Servlet Plugin Module Restart Failed Stage Action Module Template Context Item Plugin Module Resume Manual Stage Action Module Web Item Plugin Module Stop On Manual Stage Action Module Web Panel Plugin Module Source Repository Module Web Panel Renderer Plugin Module Task Plugin Module Web Resource Plugin Module Trigger Reason Module Web Resource Transformer Plugin Module Notification Condition Module Web Section Plugin Module Notification Recipient Module REST plugin module type Notification Type Module Gadget plugin module type Additional Build Configuration Module
  • 11. Build Process Build is Triggered Trigger Reason Trigger Condition Changes retrieved for all repositories Source Repository Allocate Build Number Creation and persistence of Database Objects Creation of Build Contexts Pre Chain Begin Chain Execution Action Branch Merging Stage Execution Logic Branch Push Post Chain Finalise Chain Execution Action Chain Execution Complete
  • 12. Requirements + Capabalties Failed Stage Restarted Calculated Pre Build Queued Action Manual Stage Resumed Action Jobs Places on JMS queue Execute Next Stage Build Agent Requirement Fileter Pre Stage Action Capability Type Pre Job Job Queue Trigger all jobs for stage Action Wait For Job Job Execution Completeion Logic Finalise Stage Post Stage Action Process Job State Build Processor Server Result No Did the last stage Yes Save Job Post Build Index Writer fail? to DB and Index No Tell chain the Job Post Job Yes Stop on Manual Stage is finished Action Have we hit a manual stage No Post Job Events Post Build Complete Action No Yes Is there another stage to run? Are All Jobs In Stage Finished?
  • 13. Job Queue Agent Prepare build directories Retrieve artifacts Source Repository Process from server Prepare Job Pre Build Action Run Regular Task Task Command Decorator Source Repository Yes Did task Succeed? Is there Another Task? No Run Finalising Task Task Command Decorator Source Repository Yes Is there Another Task? No Calculate Build State Build Processor Send Artifacts to Server Send Results Back To Server
  • 14. Remote Agents Taking Storm Customers have too many builds Customers need multiple OS, platforms or devices On Demand - Remote is the only option
  • 15. Whats available? Not Available Available •Database •Bandana •ActiveMQ •Build Working Directory •File System •Passed Artifacts •Lucene Index •Checkout out code •Other Plans •Products of previous tasks •Previous Jobs •Job Configuration •Historical data •Managers
  • 16. Tasks
  • 19.

Notas do Editor

  1. \n
  2. Who I Am. Why You should listen to\n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n