We need to write build and test code. Then we push that code to a central repository. If we do not have a central repository that should be the first code that we write.
- write, build and test the code to build a VCS (version control system) b. Kitchen file to build local infrastructure a. Ansible code to install/configure Gitlab c. Inspec code to validate our build
- from laptop build VCS
- push code to build VCS into VCS
Code is continuously being delivered to the VCS, tested, reviewed and merged (integrated). After the code is merged we need an automated way to test again (post integration) and continuously deliver that new code towards production if the tests pass.
- write, build and test the code to build Jenkins a. ansible code to install/configure Jenkins b. Kitchen file to build local infrastructure c. Inspec code to validate our build
- write a Jenkinsfile that defines the pipeline to deploy the Jenkins build code.
- push code to VCS
- from laptop build Jenkins
- Add Jenkinsfile to Jenkins build code to automatically build jobs based on repositories in VCS
- Add Jenkinsfile to VCS build code
- push all updated code to VCS
We need a code driven provisioning process in order to build our infrastructure.
- write the request for infrastructure in code
- from laptop build the infrastructure
- push code that builds infrastrcture to VCS
- pipeline infrastructure build with Jenkinsfile