Setting up a CI/CD pipeline with Jenkins
Submitted by Anuvrat Parashar (@anuvrat) on Tuesday, 2 January 2018
Technical level: Intermediate
Are you the person in your team who gets called in for deploying applications?
Have you ever had to sacrifice your sleep because someone fixed a minor typo and CEO wanted you to deploy the changes right then?
Have you wondered what if … the application could deploy itself?
Or perhaps, why can’t everyone deploy the damn thing themselves?
Here we shall spend a couple of hours learning how to configure a CI/CD pipeline using the time tested Jenkins CI server to help you automate the deployment process such that code pushed goes straight to the server wihout you having to move your finger.
Of course its a tad bit more complicated than what the pitch makes it sound like, but then we can get to it in the last hour of the workshop.
- Jenkins terminologies and jargons
- Outline of the workshop
Part 1: Primarily
Participants configure a simple web application for automated deployment.
- gain access to the jenkins server setup for this very workshop.
- gain familarity with various console panels.
- configure the pipeline, to trigger deployment upon code change in their repository.
- make changes in the forks of the repo and see the changes get deployed on server.
Part2: If time permits
Setting up a jenkins server.
Post hands-on discussions:
- need for continuous deployment
- cost of setting up the CI/CD pipeline in terms of effort involved.
- need for automated tests and how to get the dev-team to write them
Participants should be able to launch a small VM to deploy the application to.
Basics like how to setup ssh keys and how to login to the server shall not be covered during the workshop.
Developer who automates himself off his job.