Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
By Keith Pitt and Mario Visic Recently it has become common practise for development teams to deploy their code several times a day, as well as encouraging new developers to deploy on their first day at work. In our talk Mario and I will discuss how we use continous deployment to push these practises to the extreme. Automatically deploying the master branch on new changes is an awesome way to improve your development process. Automatically deploying master will fundamentally change how you work. Keith is a Ruby Developer from Adelaide living in Melbourne. By day he works at Pin Payments and by night he works on Buildbox. In Keith's spare time, he watches many scary movies, and wins Magic Competitons. Mario is a Ruby on Rails developer from Perth Australia, he currently works on the Microlancer team at Envato in Melbourne. As well as being a Co-Founder of Desktoppr he has also worked on some cool projects such as iMeducate and Airtasker In his spare time he enjoys eating different types of cheeses. Help us caption & translate this video! http://amara.org/v/FG1g/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the video titled **Keith and Mario's Guide to Continuous Deployment with Rails**, Keith Pitt and Mario Visic present a comprehensive guide on the principles and practices of continuous deployment tailored for Ruby on Rails applications. The speakers emphasize how automating the deployment of the master branch can significantly enhance the development workflow, allowing teams to deploy updates effectively and continuously. The key points discussed throughout the session include: - **Definition of Continuous Deployment**: The distinction between continuous delivery and continuous deployment is explained, outlining that continuous deployment automates the release process whenever changes occur in the master branch. - **Benefits of Continuous Deployment**: Participants are introduced to various benefits such as fast feedback cycles, operational predictability, and a higher level of confidence in the deployment process. - **Feature Planning and Development**: The importance of breaking down larger features into smaller, manageable updates is highlighted. This approach allows for rapid iteration and testing. - **Automated Testing**: The speakers stress the need for robust automated testing to ensure that only quality code is deployed. They discuss the balance needed in writing sufficient tests without overwhelming the deployment pipeline. - **Feature Toggles**: To mitigate risk when deploying new features, the concept of feature toggles is introduced. This allows developers to enable or disable specific features without needing to redeploy the application. - **Zero Downtime Deployments**: Keith and Mario explain how achieving zero downtime during deployments is crucial for maintaining user experience. They share strategies to implement this effectively. - **Database Migrations**: Key challenges associated with database schema changes during deployments are acknowledged, with examples provided on how to manage those changes carefully. - **Monitoring and Rollback Strategies**: The importance of application monitoring is addressed, along with various strategies for handling failed deployments. The recommendation is to adopt a 'roll forward' attitude rather than reverting deployments. Some significant examples include how Keith's and Mario's experiences with environments like Envato and Buildbox have shaped their understanding of these practices. They share practical tools and tips to implement continuous deployment successfully, highlighting their experience with A/B testing and performance metrics to further drive confidence and predictability in the deployment process. The primary conclusion emphasized by the speakers is that teams should actively pursue continuous deployment as a critical practice. By doing so, they can reduce deployment frequency, improve feedback loops, enhance code quality, and deliver features to customers more rapidly than traditional deployment methods would allow.
Suggest modifications
Cancel