Objective: Create an automated CI/CD pipeline that builds and tests code committed to GitHub, with build status notifications sent to a WebEx space.
Requirements
- A GitHub repository
- Jenkins running in a Docker container
- ngrok for exposing local Jenkins to the internet
- A WebEx bot for receiving notifications
Tasks
- Set up a GitHub repository with simple Python code. It should have tests for the Python code. You will commit the code to your repo from your local machine.
- Configure a webhook in the GitHub repository settings to listen to commits.
- Install and run Jenkins in a Docker container on your local machine.
- Use ngrok to expose your local Jenkins to the internet.
- Configure Jenkins:
- Install necessary plugins
- Set up build steps and GitHub webhook trigger
- Create a WebEx bot and configure it to receive notifications.
- Integrate the WebEx bot with Jenkins for build notifications.
- Test the entire pipeline to ensure it works as expected: Commit code > Code committed on GitHub > Webhook on GitHub sends event to Jenkins through ngrok > Jenkins triggers a build > Jenkins notifies you though a message in your WebEx space