with Notepad, Dreamweaver, even Netbeans. • Development? Staging? Production? - What the hell are those? • Downloading & Pushing back Files with FileZilla • CPANEL - Our Lord & Personal Savior forLoop 2016 @unicodeveloper
software development discipline where you build software in such a way that the software can be released to production at any time. It is an extension of Continuous Integration. Attention - What’s the difference between Continuous Integration & Continuous Delivery? NextSlide++
practice where members of a team integrate their work frequently, usually each person integrates at least daily leading to multiple integrations per day. Each integration is verified by an automated build(including test) to detect integration errors as quickly as possible. - Martin Fowler forLoop 2016 @unicodeveloper
that the developer’s working copies are synchronized with a shared mainline several times a day. Continuous Delivery is described as the logical evolution of continuous integration: Always be able to put a product into production! There are always arguments regarding these concepts: http://stackoverflow.com/questions/28608015/continuous-integration-vs- continuous-delivery-vs-continuous-deployment forLoop 2016 @unicodeveloper
• Code is Tested with Travis-CI/Circle-CI/<insertname>- CI • Automatically deploy to staging when CI passes • Manually promote to production after QA or well anytime you are ready. forLoop 2016 @unicodeveloper
so: • Push your app to your repository, by default the master branch • Ensure it has the appropriate Procfile content. I’m using Laravel. • Set your environment variables on Heroku. • Connect to Github and select your repository. forLoop 2016 @unicodeveloper
can work on new features/bugs via various branches • Each PR submitted from a branch creates a new review app on heroku. forLoop 2016 @unicodeveloper NextSlide++
generated for every PR . • Other Engineers on the team can just check the url to check if the feature works as expected without having to pull from the branch every time. THIS SAVES A LOT OF TIME, OMG!!!! VIOLA!!! forLoop 2016 @unicodeveloper
via a PR A click on the Promote to Production button brings up this dialog A click on the Promote button deploys a staging release to Production forLoop 2016 @unicodeveloper
3 apps ◦ Development - forloop.dev (local machine) - feature branch ◦ Staging - forloop-staging.herokuapp.com (staging server) - staging branch ◦ Production - forloop.herokuapp.com (production server) • Works well for teams of developers & also for Sole Devs CONTINUOUS DELIVERY LIKE A BOSS!!! forLoop 2016 @unicodeveloper
PRODUCT MANAGERS SURVIVE BEFORE NOW? • HOW DID USERS MANAGE BROKEN APPS AS A RESULT OF DEVELOPERS CODING ON LIVE PLATFORM BEFORE NOW? QUESTIONS I’M LOOKING FOR ANSWERS TO PS: I’m not affiliated with Heroku in any way & Heroku didn’t sponsor this talk. forLoop 2016 @unicodeveloper