All Projects → stefanprodan → jenkins

stefanprodan / jenkins

Licence: GPL-3.0 license
Continuous integration with disposable containers

Programming Languages

shell
77523 projects
groovy
2714 projects

Projects that are alternatives of or similar to jenkins

.github
Global configurations for the jenkinsci GitHub organization
Stars: ✭ 13 (-18.75%)
Mutual labels:  jenkins
custom-tools-plugin
A generic tool installer for Jenkins
Stars: ✭ 25 (+56.25%)
Mutual labels:  jenkins
corebot
A bot to trigger Rundeck and Jenkins jobs from Slack.
Stars: ✭ 69 (+331.25%)
Mutual labels:  jenkins
jenkins-webapi
Python library for interacting with jenkins ci
Stars: ✭ 16 (+0%)
Mutual labels:  jenkins
infraverse
Infrastructure Platforms and Applications Comparison
Stars: ✭ 77 (+381.25%)
Mutual labels:  jenkins
devops-interview-questions
DevOps Interview Questions
Stars: ✭ 73 (+356.25%)
Mutual labels:  jenkins
soccer-stats
Soccer Stats is an example application to be used as a proof of concept for a presentation at Ansible Meetup in São Paulo
Stars: ✭ 83 (+418.75%)
Mutual labels:  jenkins
postbuildscript-plugin
The PostBuildScript Jenkins plugin lets you execute a set of scripts at the end of the build depending on the build status.
Stars: ✭ 40 (+150%)
Mutual labels:  jenkins
mypaas
MyPaas is an Ansible playbook for startups or small companies which want to build a modern and fully automated infrastructure.
Stars: ✭ 24 (+50%)
Mutual labels:  jenkins
cheat-sheet-pdf
📜 A Cheat-Sheet Collection from the WWW
Stars: ✭ 728 (+4450%)
Mutual labels:  jenkins
wdio-junit-reporter
A WebdriverIO v4 plugin. Report results in junit xml format.
Stars: ✭ 13 (-18.75%)
Mutual labels:  jenkins
file-operations-plugin
File Operations as Build Step in Jenkins
Stars: ✭ 26 (+62.5%)
Mutual labels:  jenkins
godemo
golang learning demo
Stars: ✭ 16 (+0%)
Mutual labels:  jenkins
devops
let devops for docker, dockerswarm ,k8s easy
Stars: ✭ 282 (+1662.5%)
Mutual labels:  jenkins
gitops-playground
Reproducible infrastructure to showcase GitOps workflows and evaluate different GitOps Operators on Kubernetes
Stars: ✭ 77 (+381.25%)
Mutual labels:  jenkins
job-dsl-sample
Jenkins Job DSL Sample Project
Stars: ✭ 32 (+100%)
Mutual labels:  jenkins
docker-jenkins-jnlp-slave-windows
Jenkins JNLP Slaves as Windows Container
Stars: ✭ 26 (+62.5%)
Mutual labels:  jenkins
buildserver
Multiplatform development environment with Vagrant and Ansible
Stars: ✭ 18 (+12.5%)
Mutual labels:  jenkins
jenkins-in-docker
Instructions
Stars: ✭ 18 (+12.5%)
Mutual labels:  jenkins
Book k8sInfra
< 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 >
Stars: ✭ 176 (+1000%)
Mutual labels:  jenkins

Jenkins CI with disposable containers

layers

This is a Jenkins CI Server image suitable for running CD work-flows inside disposable containers using Jenkins Docker Pipeline and the Docker daemon present on the host system. Note that this is not a "Docker in Docker" Jenkins setup. This image requires the Docker socket to be mounted inside the Jenkins container. All the Docker commands issued by the Jenkins Docker Pipeline will be executed on the host system. This image also has Ansible installed to facilitate container orchestration over SSH.

This image is based on the official Jenkins image. Each time the official image is updated, Docker Hub will automatically trigger a rebuild of this image.

Running Jenkins

First, you will need to set up persistent storage for Jenkins and the Ansible inventory.

You will need a directory for each on the host, and you will need to give the jenkins user (UID 1000) ownership of both.

For Jenkins:

JENKINS_HOME=/home/$(whoami)/jenkins_home
mkdir $JENKINS_HOME
chown -R 1000 $JENKINS_HOME

For Ansible:

ANSIBLE_INVENTORY=/home/$(whoami)/ansible
mkdir $ANSIBLE_INVENTORY
chown -R 1000 $ANSIBLE_INVENTORY

Run Jenkins container by mounting the Docker socket, jenkins_home and ansible directory:

docker run -d --name jenkins \ 
	-p 8080:8080 -p 50000:50000 \ 
	-v /var/run/docker.sock:/var/run/docker.sock \ 
	-v /home/$(whoami)/jenkins_home:/var/jenkins_home \ 
	-v /home/$(whoami)/ansible:/etc/ansible \ 
	stefanprodan/jenkins

After starting the container, you can access Jenkins at http://localhost:8080. Look in the logs for the admin password that Jenkins is generating on first run:

docker logs jenkins

or run

docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword

After login, chose Select plugins to install and uncheck all.

Jenkins plugins

Pre-installed plugins:

  • Ant
  • Ansible
  • Build Timeout
  • GitHub
  • Gradle
  • Pipeline
  • Purge Job History
  • CloudBees Docker Pipeline
  • Credentials Binding
  • Simple Theme Plugin
  • SSH Agent
  • SSH Slaves
  • Timestamper
  • Workspace Cleanup
  • Xunit
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].