The article details the setup of a CI/CD pipeline using Jenkins in a Docker container for a Jira clone project.
Initial steps involved running Jenkins in a Docker container with access to the Docker daemon and fixing Docker socket permission issues.
The process included retrieving the Jenkins admin password, installing Docker CLI inside the Jenkins container, and restarting the container after making changes.
Configurations in Jenkins included installing required plugins like NodeJS and Docker Pipeline Plugin, setting up credentials, and configuring specific tools like NodeJS and Docker.
Challenges faced during the setup included Docker socket permission issues, network problems with 'Docker-in-Docker' approach, and NodeJS configuration issues.
Solutions included creating scripts to handle permission issues, adopting 'Docker-outside-of-Docker' approach for networking, and explicitly configuring NodeJS in the Jenkins setup.
The article provides a simplified version of the Jenkinsfile used for the project, highlighting stages for checkout, installing dependencies, running tests, building and pushing Docker images, and deployment.
Key takeaways from the experience include the importance of explicit tool configuration, addressing permission challenges with Docker socket, and considering networking implications in Docker usage for CI/CD pipelines.
Documentation of setup processes is emphasized for easier maintenance, and the author encourages sharing experiences and challenges faced in Jenkins setup in the comments section.
Overall, setting up Jenkins with Docker presented educational challenges, but with effective solutions, it led to a stable and efficient CI/CD pipeline for the Jira clone project.
The article concludes by offering insights for those considering Jenkins in a Docker environment and invites readers to share their own experiences with Jenkins setup.