In this last chapter, we covered best practices for different types of tests in a CI/CD pipeline, including unit tests, integration tests, system tests, and acceptance tests. We provided code examples and showed ways of how to test an API endpoint using Node.js, Golang, and a shell script. We covered best practices in password management and showed how to use the Vault library to securely manage secrets and showed how to use the Vault API. We finished the chapter by showing some best practices regarding deployment. We talked about a deployment checklist, release automation, and we wrote a custom release script in Golang to create a GitHub release.
This is the end of the book and I hope that you have learned a lot about CI/CD, testing and automation, and using Jenkins CI, CircleCI, and Travis CI.