is positive towards Continuous Delivery and do believe that they will benefit from implementing it. But, they don’t think their customers are ready to adapt Continuous Deployment at this point. 10
to integrate each commit to the master branch of the project. In a Continuous Integration process, the aim is not to have release ready code, the aim is to integrate often to avoid integration problems. • Continuous Delivery aims to deliver working software continuously. It doesn’t need to include the deployment of software, but it should be ready for a deployment at any given time. • Continuous Deployment works as an extension of Continuous Integration, instead of leaving the integrated code as the latest build, Continuous Deployment aims to deploy the build to a target. 11
his company get from CI/CD • Accelerated time to market • Building the right product • Improved productivity and efficiency • Reliable release • Improved product quality • Improved customer satisfaction 12
any environment in a fully automated fashion and in reproducible manner • Traceability: Able to determine quickly and precisely the versions of every dependency used to create an environment and know differences between envs 18
do it more often, and bring the pain forward. • Developers integrate all their work into trunk on a regular basis (at least daily). • Have a set of automated tests is validate changes • If these automated tests fail, the team stops what they are doing and someone fixes the problem immediately. 19
through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler)). Pearson Education: Boston. • Bremer, Rickard and Eriksson, Johan. 2015. Understandings and Implementations of Continuous Delivery. Tesis pada University of Gothenburg Gotenborg, Swedia. • Chen, Lianping. 2015. Continuous Delivery: Huge Benefits, but Challenges Too. IEEE Software 32(2). • https://continuousdelivery.com/ 25
Infra ◦ Provide repository name and provide your github username (you can also provide all github usernames) • Infra create repository on github and assign the requester as group admin ◦ Group admin can add and remove user from specific group ◦ Send repository url to requester • Project lead initiate a git repository locally and push to github • Other team members clone from this repository
continuous integration against this repository • Dev works on a branch, push to Github when ready, and create a Pull Request • Github notifies Jenkins, Jenkins builds the PR, and report status to Github • Other dev response to a PR, provides feedback, and merge the PR • Delivery team deploy artifact to target env • Repeat step #6 until project is over