Didn't make it to San Jose for Summit 2016? Catch up on all the latest announcements with full replays of featured keynotes and breakout sessions.
- Bitbucket Pipelines: Serverless CI/CD That Will Save Your Life
Ian Buchanan, Developer Advocate, Atlassian
- Code Reviews vs. Pull Requests
Tim Pettersen, Senior Developer Advocate, Atlassian
- Continuous Delivery in the Cloud with Bitbucket Pipelines
Jeroen De Raedt, Senior Developer, Atlassian
- Mock Servers - Fake All the Things!
Peggy Kuo, Senior Developer, Atlassian
- Popular Git Workflows You Haven't Heard About
Nicola Paolucci, Developer Advocate, Atlassian
- Releasing the Monolith On a Daily Basis
Vincent Kok, Development Manager, Atlassian
- Scaling Without Expanding: a DevOps Story
Lachlan Dally, Senior Support Engineer, Atlassian
- Scaling Your First 1000 Containers with Docker
Ben Barclay, Developer, Atlassian
- Takeaways From Migrating to Git and Bitbucket Server
Mikael Sandberg, Sr Applications Specialist, FUJIFILM SonoSite
- 10 Tips for Effective Code Review
Tim Pettersen, Senior Developer Advocate, Atlassian
- Tracking Huge Files with Git LFS
Steve Smith, Developer Advocate, Atlassian
Lars Schneider, Technical Lead Git Solutions, Autodesk Inc.
- Verifying Microservice Integrations with Contract Testing
Ben Sayers, Senior Developer, Atlassian
Mauri Edo, QA Engineer, Atlassian
Bitbucket Pipelines: Serverless CI/CD That Will Save Your Life
Are you building cloud-native products using PaaS building blocks? Whether you've just started or are a seasoned CI/CD practitioner, you might be at risk of "CI/CD agent overload". Historically, CI/CD tools have run with raw hardware, or more recently with virtual machines, each controlled by an agent. The cost of operating these agents has provided a natural check against growth but, in the cloud, agent proliferation often goes unchecked until the agents kill the host organism! Fortunately, there is a cure. Bitbucket Pipelines is Atlassian's new serverless CI/CD feature that enables cloud software teams to get build results sooner, to build reliably, and to test in ways that better resemble cloud PaaS environments.
Code Reviews vs. Pull Requests
With so many styles and processes available for code review, which one is best for your team? Do you use Git, Subversion, or something more exotic? Do you prefer to review code pre-commit, or via a pull request? Do you favor a feature branching, forking, or a Gerrit-style workflow? In this presentation, I'll break down the various popular options adopted by professional teams. We'll investigate pull requests (popularized by Bitbucket & GitHub), Crucible, and Gerrit, and discuss the pros and cons of each. Finally, I'll show you the battle-hardened review processes used by a couple of Atlassian's own development teams, refined over tens-of-thousands of code reviews and pull requests, and across countless retrospectives.
Attendees will walk away with a solid understanding of popular code review methodologies, and the knowledge to implement an appropriate code review process for their team, incorporating their current development practices and version control systems. If you're already practicing code review, you'll gain some valuable insight into Atlassian's world-class review processes, and some tips and tricks for improving how your developers collaborate on a shared codebase.
Continuous Delivery in the Cloud with Bitbucket Pipelines
Meet Bitbucket Pipelines: our CI/CD offering for Bitbucket, and your team's newest member. Thousands of customers have already adopted this easy option for CI/CD in the cloud that makes build failures easier to tackle, and gives team members like designers and sys-admins better visibility into what's going on with the code. Now it's your turn.
We'll show you best practices for using it with git-flow, peer reviews, and configuration as code. With Bitbucket Pipelines handling the heavy lifting associated with builds, tests, and deployments, the rest of your team can focus on creating a great product for your users.
Mock Servers - Fake All the Things!
Nowadays we all seem to be working with small independent services that need to talk with numerous other services. This is a problem because when developing your service, you need to have a working environment—but bringing up all your dependencies is often not an option.
In this talk, I will take you through our journey of creating a mock server to increase dev speed, and how it allowed us to write better tests.
Popular Git Workflows You Haven't Heard About
When you adopted Git you either researched an effective workflow or someone in your team chose it for you. Maybe you use Gitflow, maybe a lightweight master/develop system like the Bitbucket Cloud team, or maybe you have long-running maintenance branches.
Done right, all these workflows can be very effective for your team. But why is the Git project itself run by e-mailing patches to an old school mailing list? Why do you hear of cool companies like Twitter use huge mono repos and embracing patch queues? To answer these questions we need to go deeper. This talk will show you the cool side of Git workflows you are probably not using.
Releasing the Monolith On a Daily Basis
Struggling to get software released on a daily basis? Wondering how to apply the same techniques that make companies successful with continuous deployment? What if your company isn’t in a greenfield situation and carries build legacy? What if developers on your team have a mindset that is the opposite of continuous deployment? This is a story about the Confluence development team and their journey from struggling to release once a week to releasing every day. Learn about the challenges the team faced and the interesting solutions they came up with to reach their goals while avoiding many rabbit holes along the way. In this session, you will get many interesting insights and techniques that you can apply immediately in your own organization's journey towards continuous deployment.
Scaling Without Expanding: a DevOps Story
The build engineering team at Atlassian uses Bamboo, Bitbucket Server, and HipChat to maintain full control over the entire software and infrastructure life cycles – from a customer raising an incident all the way through to deploying a fix.
We're not a product team, but we've applied agile development practices to improve how we deploy infrastructure. Puppet and Bamboo help us automate everything, while Terraform and AWS let us treat our infrastructure as code, allowing for reviewed changes and easy scaling.
In this talk I'll show you how the build engineering team has managed to stay the same size over the last few years while supporting both a 10x growth in the number of builds run in Atlassian and 2x growth in the number of developers in the company. You'll walk out understanding how you and your team can do the same.
Scaling Your First 1000 Containers with Docker
Deploying large numbers of containers to production can be a difficult proposition if you don’t approach the problem with the right strategy – one that's appropriate for both your developers and the size of your operations team. Choosing a strategy lets you codify your deployment patterns in a repeatable manner and reuse them over hundreds of deployments without incurring unnecessary cost and complexity.
Using Atlassian’s PaaS as a model, we will discuss important milestones as you scale from a single container to tens, hundreds, and eventually to a thousand containers. At what points should you begin to embrace log aggregation? How about monitoring and metrics collection? Orchestration and clustering solutions? Learn how to incorporate ever more sophisticated third-party solutions as you go, to achieve cost-effective and stable management of your containers in production.
Takeaways From Migrating to Git and Bitbucket Server
Switching from a centralized version control system to Git and Bitbucket will have an impact on the way your development team develops software.
When doing the switch, what should be migrated over? Should you continue using the current workflow or is there a better one? What about training?
This talk will give a brief overview of what I learned from doing the switch to Git and Bitbucket Server from Rational ClearCase, but it can be applied to any centralized version control system.
10 Tips for Effective Code Review
Code review is a vital tool for any team of a size greater than one! Atlassian relies on pull requests to ensure high quality code, effective knowledge transfer between teammates, and painless deployments. In this lightning talk we'll share ten tips in as many minutes on sizing reviews, picking reviewers, and effective review techniques to ensure your team is getting the most out of your code review process.
Tracking Huge Files with Git LFS
Developers love Git for its raw speed, distributed nature, and the fact that it was originally built by Linus Torvalds. What we don't love is the fact that, out of the box, Git has terrible support for tracking large binary files! Fortunately, developers from Atlassian and GitHub have created an open source project to solve this problem: Git LFS (Large File Support). This means researchers, web designers, game developers, multimedia producers, and all others who need to work with large data and rich media can move off legacy centralized systems and start using modern version control. This session will introduce Git LFS architecture, CLI and SourceTree usage, and how to build an effective Git LFS workflow with Bitbucket Server & Cloud for a professional software team.
Learn how Autodesk uses Git LFS at scale, how to avoid pitfalls, and how they ensure that their 4000+ engineers have Git and Git LFS properly installed and ready to use.
Verifying Microservice Integrations with Contract Testing
As you migrate your applications toward microservice architectures, new pains start to appear – like testing, for example. How on Earth do you verify all these separate moving parts work together before releasing? How can you be sure that your code is compatible with services that can't easily be spun up anymore? They are all written in different languages, operated by separate teams and deploy every day!
Do you find yourself lying awake at night missing monolithic applications where integrations were easier to test? In this talk we'll reveal how Atlassian is adopting a new strategy called "contract testing", using the Pact open source library to test our microservices. We’ll introduce the concept of contract testing, talk about why we love this approach, and go through some examples and patterns that will help you get started.