Deploying a Docker Container with Jenkins Pipelines

Task 1: Configure Jenkins to run the new dockerized train-schedule pipeline

To accomplish this, you will need to do the following setup in Jenkins:

Configure Jenkins credentials for the production server:

Add the value to the browser. Finish install of Jenkins

Using the cloud_user password, create a Jenkins credential called deploy.

Dashboard -> Manage -> Jenkins Credentials

Configure Jenkins credentials for the Docker image registry (Docker Hub).

Dashboard -> Manage -> Jenkins Credentials

<Make docker hub accounts>

  1. Create a Jenkins credential called docker_hub_login. You will need a docker hub account in order to perform this step.

  2. Configure a global property in Jenkins to store the production server IP.

  3. Create a global property in Jenkins called prod_ip and set it to the Production Server Public IP that appears on the learning activity page once the servers are started up.

  4. Create a multibranch pipeline project in Jenkins called train-schedule.

  5. Configure the Jenkins project to pull from your fork of the source code.

Task 2: Successfully deploy the train-schedule app to production as a Docker container using the Jenkins Pipeline

  1. Implement the following new stages in the Jenkinsfile:

  • Build Docker Image: Build a Docker image with the runnable code inside it.

  • Push Docker Image: Push the image to Docker Hub.

  • DeployToProduction: Deploy the new image to production.

  • Stop and remove any older containers.

  • Pull and run the newly built image.

  1. After implementing these stages, run the build in Jenkins to deploy the application to production!

Last updated