Sepideh Setayeshfar, Product Marketing Manager for Atlassian’s Developer Tools, presented the top features that make Bamboo a scalable continuous integration tool. Relive the action!
Watch and share the recorded webinar now!
In 30 quick minutes, we’ll cover:
- Visibility across teams with Stash and JIRA integration
- Strong agent management with agent dedication, Docker and more availability zones per region for Elastic Bamboo
- Easier build management with Docker tasks
- Less plan-level modifications with bulk edits and linked repositories
Q&A top 15 questions
Hit us up in the comments if you have any more questions!
Q1: Can I trigger build plans by successful deploy tasks?
A1: While there are no trigger options for plans to run after a successful deployment, you can always add a script task to your deployment project to trigger a plan with a command similar to the following. Replace ‘admin:admin’ with your Bamboo instance username and password, ‘http://localhost:8085’ with your Bamboo URL and ‘FOO-BAR’ with the PROJKEY-PLANKEY combination. When selecting a plan from your Bamboo dashboard, PROJKEY-PLANKEY are the last parameters in the URL, separated with a “-“.
curl -X POST --user admin:admin
Q2: Are Docker agents available for Bamboo Cloud?
A2: Docker agents are not yet available for Bamboo Cloud, but it is in our plan to improve the integration with Docker both for Server and Cloud.
Q3: Where is the working directory when using Docker tasks? How does the build result become available to other tasks?
A3: The container mounts the working directory on the host agent’s filesystem which makes build results available to the agent and other tasks in the job.
Q4: I have Bamboo, JIRA, and Stash connected, and I have deployment projects, but I don’t see any deployment panels in JIRA?
A4: This might happen for different reasons, but check your application versions first. For the Deployment panel to show up, you need at least Bamboo 5.4 and JIRA 6.2 so it won’t show up if you are running an older version of these applications. Please refer to the Integrating Bamboo with JIRA page for more details. If you have the latest versions and still don’t see the panel, contact our support team at https://support.atlassian.com/ and they’ll help you troubleshoot and fix the issue(s) causing it, quickly.
Q5: Can Stash reviewers push the merge, or it will always go back to the user who creates the pull request? What is the maximum number of reviewers we can add?
A5: Reviewers can push the merge if they have write permissions to the repository. You can also add additional conditions. For example, a certain number of reviewers to approve the changes before the merge, or the number of successful builds you want to see before merging back to the mainline. These settings are stored under Repository Settings – > Workflow – > Pull requests page in Stash. The maximum number of approvers and successful builds you can set up is nine.
Q6: Does Bamboo support builds that draw on source code from two repositories?
A6: Yes, you can add different repositories under the ‘Repository’ tab of your build plan. Select the pencil on the right hand side next to your Bamboo plan on the dashboard, select the ‘Repositories’ tab and add all the repositories you want to use.
Q7: Why is there still no ‘Build’ status in Bitbucket pull requests? Does Bitbucket work the same with Bamboo as Stash does?
A7: Bitbucket does not yet have the same workflow with Bamboo as Stash does, but getting better integration with Bitbucket is a high priority for the Bamboo team. This includes having build information within Bitbucket. We cannot communicate any deadline, but we intend to release improvements throughout 2015.
Q8: Is it possible to trigger deployment projects from branches other than the master branch? What other trigger options are available?
A8: Yes it is possible. When you select ‘After successful plan’ as your deployment project’s environment trigger type, it gives you the option to choose branches. The other trigger type you can choose for deployment projects is ‘Scheduled.’ You can find all the details here: Triggers for deployment environments.
Q9: We have self-hosted Bamboo and JIRA and are deciding between Stash and Bitbucket, which one should we go with?
A9: The decision depends on what you need and your preferences, and of course if you want to implement the same workflow that we went over in this webinar with Stash. But both are great products and we use them both here at Atlassian. To point out some of the differences, one is the secure pull requests functionality in Stash that allows adding reviewers or requesting a certain number of green builds before merging a pull request. The other difference is the ability to host Stash in house while Bitbucket is hosted in the cloud, and one last difference might be the simple-to-use rest APIs in Stash that enable users to customize the tool.
Good news if you choose Stash: We launched Stash Data Center recently which offers great flexibility and scalability. So, if you are looking for a Git code management and collaboration tool that massively scales, have a look at our Stash DC.
Q10: When is it recommended to use EC2 agents? Can Bamboo send cloud-init user data when provisioning instances on EC2?
A10: EC2 agents are recommended whenever you need extra compute capacity that cannot be satisfied by your remote agents. It can also be a primary/only source of agents if you don’t want to maintain the hardware for remote agents. Bamboo can’t send cloud-init data at the moment, it uses user data for other purposes.
Q11: I feel like I’m missing something regarding the value of linked rather than local repositories. What’s the use case for multiple projects using a single (svn) repository URL? What material is available to understand this concept better?
A11: Linked repositories can be reused by other plans while local repositories are only available for the plan it belongs to. If you make any changes to linked repositories, they will be applied to all plans using them and there is no need to edit each plan one by one. This is a very useful feature, and can help you save a lot of time, especially if you have a big instance with many projects and plans. Please refer to this document for more details: Linking to source code repositories.
Q12: Can Bamboo be used for continuous deployment?
A12: Certainly! Bamboo has you covered for deployment automation. Have a look at this blog post: Practical Continuous Deployment and related slides to learn more, and read about some of our experiences with continuous delivery and deployment at Atlassian.
Q13: Is it possible to create a pull request in Stash which covers multiple repositories in the same project?
A13: The pull request can be between two repositories in the same project, if they are related (forks). Pull requests only support a one source and one target repository, for more than two repositories, multiple pull requests are needed. Have a look at our documents for more details: Using pull requests in Stash.
Q14: When you say one agent, 10 jobs what does it mean? For deployments, do I need to purchase a Bamboo agent for each and every target server?
A14: Each Bamboo job is a single build unit within a plan made up of one or more tasks. One or more jobs can be organized into one or more stages. The jobs in a stage can all be run at the same time, if enough Bamboo agents are available. Bamboo’s pricing tiers are based on build slaves, or ‘remote agents’ as we call them, rather than on user seats. Our starter license for Bamboo Cloud allows you to configure 10 jobs and run one agent to execute your builds. With multiple agents you can split long-running test suites into parallelized batches, and run multiple builds simultaneously. The more concurrency, the faster your team gets feedback on their changes. There is no need to have a separate Bamboo agent for each target server when using deployments if your deployment projects are not very time sensitive and can wait in the queue for free agents. The same capabilities-requirements and agent dedication features also exist for deployment projects. If you want the results faster and have enough agents, dedicate an agent to your deployment project, if you’re not in a rush, check for correctly configured capabilities-requirements and let Bamboo match the project with existing agents.
Q15: We have licenses for 20 remote Bamboo agents. How many agents through Docker can we run?
A15: It’s the same number included in your license. Ex. : You can have 20 Docker containers running one agent each.