Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RubyConf AU 2014: http://www.rubyconf.org.au 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, we will discuss how we use continuous 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. Gone are the days of the epic pull request. You'll quickly find yourself writing smaller more manageable chunks of code, that overall have a great impact on the quality of the software you produce. By the end of the talk you'll know how to change the GitHub merge pull request button into a deploy button - and have the confidence to do so. Some things we'll go over in the talk: How to setup your CI environment for deployments Why having fast tests are important How to use your Staging environment for testing deployments How to use feature flags to hide deployed features from some users Zero downtime deploys, even when there are database migrations Your new deploy button, AKA The GitHub merge pull request button What to do when deployment goes wrong
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 'Continuous Deployment with Rails', presented at RubyConf AU 2014, speakers Keith Pitt and Mario Viik discuss the principles and practices surrounding continuous deployment in Rails applications. The talk emphasizes the importance of automating deployment processes and encourages development teams to integrate a more streamlined and frequent deployment strategy into their workflows. Key points include: - **Definition of Continuous Deployment**: Continuous deployment automates the release of code changes to production, contrasting with continuous delivery which involves manual deployment steps. - **Advantages of Continuous Deployment**: The speakers highlight three major advantages: fast feedback on code changes, increased confidence in the deployment processes, and enhanced predictability. - **Ingredients for Successful Deployment**: The key elements required to implement continuous deployment effectively include feature planning, efficient code review processes, and the critical need for automated testing. - **Feature Toggles**: Utilizing feature toggles allows developers to control which features are visible to users, enabling safe deployment without immediate exposure of new features. - **Zero Downtime Deployments**: Strategies to implement zero downtime during deployments are discussed, including the importance of careful database migrations to avoid disruptions to user experience. - **Handling Errors Post-Deployment**: The speakers advise a proactive approach when deployment issues arise, advocating for feature toggles to disable problematic features instead of immediately rolling back changes. - **Monitoring and Metrics**: They stress the need for effective monitoring tools to track performance and bugs after deployment to quickly address potential problems. Throughout their presentation, Pitt and Viik also share practical examples from their own projects, such as utilizing CI scripts for deployment and managing deployments on services like Heroku. They conclude with a strong encouragement to adopt continuous deployment practices to significantly enhance development processes and adapt quickly to user feedback.
Suggest modifications
Cancel