SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Basic Concepts of Remote Sensing
Basic Concepts of Remote Sensing Basic Concepts of Remote Sensing
Basic Concepts of Remote Sensing Somenath Goswami
 
Types of landforms
Types of landformsTypes of landforms
Types of landformsMythreyiNR
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de gitJulien Blin
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsBo-Yi Wu
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIDavid Hahn
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentationMack Hardy
 
IBM Business Process Management
IBM Business Process ManagementIBM Business Process Management
IBM Business Process ManagementAsif Hussain
 
GitLab for CI/CD process
GitLab for CI/CD processGitLab for CI/CD process
GitLab for CI/CD processHYS Enterprise
 
Free open source gis
Free open source gisFree open source gis
Free open source gisAshok Peddi
 
Classification of Carbonates
Classification of CarbonatesClassification of Carbonates
Classification of CarbonatesWilliam W. Little
 
MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL Bernd Ocklin
 
Process Mining - Chapter 1 - Introduction
Process Mining - Chapter 1 - IntroductionProcess Mining - Chapter 1 - Introduction
Process Mining - Chapter 1 - IntroductionWil van der Aalst
 
Types of landforms
Types of landformsTypes of landforms
Types of landformsmerlene1
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsKnoldus Inc.
 

Was ist angesagt? (20)

Basic Concepts of Remote Sensing
Basic Concepts of Remote Sensing Basic Concepts of Remote Sensing
Basic Concepts of Remote Sensing
 
Kayobe_desc
Kayobe_descKayobe_desc
Kayobe_desc
 
Types of landforms
Types of landformsTypes of landforms
Types of landforms
 
Présentation de git
Présentation de gitPrésentation de git
Présentation de git
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Continuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CIContinuous Integration/Deployment with Gitlab CI
Continuous Integration/Deployment with Gitlab CI
 
Git workflows presentation
Git workflows presentationGit workflows presentation
Git workflows presentation
 
QGIS Tutorial 1
QGIS Tutorial 1QGIS Tutorial 1
QGIS Tutorial 1
 
IBM Business Process Management
IBM Business Process ManagementIBM Business Process Management
IBM Business Process Management
 
GitLab for CI/CD process
GitLab for CI/CD processGitLab for CI/CD process
GitLab for CI/CD process
 
Free open source gis
Free open source gisFree open source gis
Free open source gis
 
Classification of Carbonates
Classification of CarbonatesClassification of Carbonates
Classification of Carbonates
 
MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL MySQL NDB Cluster 8.0 SQL faster than NoSQL
MySQL NDB Cluster 8.0 SQL faster than NoSQL
 
Process Mining - Chapter 1 - Introduction
Process Mining - Chapter 1 - IntroductionProcess Mining - Chapter 1 - Introduction
Process Mining - Chapter 1 - Introduction
 
Types of landforms
Types of landformsTypes of landforms
Types of landforms
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Git hub
Git hubGit hub
Git hub
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
gis
gisgis
gis
 
RASTER (GRID FORMAT) AND VECTOR (POINT, LINE AND POLYGON) DATA MODELS
RASTER (GRID FORMAT) AND VECTOR (POINT, LINE AND POLYGON) DATA MODELSRASTER (GRID FORMAT) AND VECTOR (POINT, LINE AND POLYGON) DATA MODELS
RASTER (GRID FORMAT) AND VECTOR (POINT, LINE AND POLYGON) DATA MODELS
 

Ähnlich wie 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 Activitiesrsnarayanan
 
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 AjaxDarren 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 TimeAnand 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 Enterprisebenbrowning
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery OverviewWill Iverson
 
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 ContextXavier Warzee
 
Spring batch showCase
Spring batch showCaseSpring batch showCase
Spring batch showCasetaher abdo
 
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 #gitTomáš Jukin
 
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 ManagementNico Orschel
 
MEW22 22nd Machine Evaluation Workshop Microsoft
MEW22 22nd Machine Evaluation Workshop MicrosoftMEW22 22nd Machine Evaluation Workshop Microsoft
MEW22 22nd Machine Evaluation Workshop MicrosoftLee Stott
 
Bamboo - an introduction
Bamboo - an introductionBamboo - an introduction
Bamboo - an introductionSven Peters
 
Introduction to RamLog
Introduction to RamLogIntroduction to RamLog
Introduction to RamLogCorrieTaljaard
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesSanjeev Sharma
 
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-infrastructurezslmarketing
 

Ähnlich wie 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
 

Mehr von Atlassian

International Women's Day 2020
International Women's Day 2020International Women's Day 2020
International Women's Day 2020Atlassian
 
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 2020Atlassian
 
Forge App Showcase
Forge App ShowcaseForge App Showcase
Forge App ShowcaseAtlassian
 
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 UIAtlassian
 
Meet the Forge Runtime
Meet the Forge RuntimeMeet the Forge Runtime
Meet the Forge RuntimeAtlassian
 
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 ExperienceAtlassian
 
Take Action with Forge Triggers
Take Action with Forge TriggersTake Action with Forge Triggers
Take Action with Forge TriggersAtlassian
 
Observability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeObservability and Troubleshooting in Forge
Observability and Troubleshooting in ForgeAtlassian
 
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 ModelAtlassian
 
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 SystemAtlassian
 
Forge: Under the Hood
Forge: Under the HoodForge: Under the Hood
Forge: Under the HoodAtlassian
 
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 APIsAtlassian
 
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 PluginAtlassian
 
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 BuildingAtlassian
 
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 MatterAtlassian
 
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 MindAtlassian
 
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 TeamsAtlassian
 
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 TeamAtlassian
 
Building Apps With Enterprise in Mind
Building Apps With Enterprise in MindBuilding Apps With Enterprise in Mind
Building Apps With Enterprise in MindAtlassian
 

Mehr von 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
 

Kürzlich hochgeladen

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 

Kürzlich hochgeladen (20)

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 

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.

Hinweis der Redaktion

  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