Being a developer from the day I had my first computer, automating tasks like compiling, testing and deployment always had my main interest. A decade ago I deployed applications using a tool like Capistrano, nowadays the entire build, test and deployment pipeline is automated by rich tools like Github, Gitlab and Jenkins.
- Setting up automated tests, static analyses and security analyses on code
- Adjust applications to be able to run in a container according the 12 factor rules
- Building artifacts or Docker images
- Automated deployment with Helm, Kustomize and/or GitOps tool like Weave Flex.
- Blue/green deployment or canary deployment
- Review deployments on feature branches