This image provides Jenkins on Windows container + Jenkins Configuration-as-Code plugin to deliver a zero time setup if you need this environment (e.g. for building .NET applciations).
Bonus: it mounts docker engine named pipe to let this Windows container build other containers in the exact same Linux-style experience.
With this interaction, no secret can be passed to container (so for instance admin password cannot be modified)
Just issue:
docker-compose up
And connect to localhost:8888
For using secrets, we must use docker swarm. First issue:
docker swarm init
(optionally add --advertise-addr)
Then issue:
docker stack deploy -c docker-compose.yaml jenkins
And connect to localhost:8888
Here some commands for runnig without docker-compose or docker stack deploy
Building image:
docker build -t andreav/jenkins-win ./jenkins-image
And running the conatiner from a bash (mingw)
docker run -it \
-v jenkins_home:C:\\ProgramData\\Jenkins\\JenkinsHome \
-v '\\.\pipe\docker_engine':'\\.\pipe\docker_engine' \
-v $(cygpath.exe -w ${PWD})'\jcasc_configs':'C:\ProgramData\Jenkins\jcasc_configs' \
-p 8888:8080 \
-p 55555:50000 \
andreav/jenkins-win
Or running from a DOS shell:
docker run -it \
-v jenkins_home:C:\\ProgramData\\Jenkins\\JenkinsHome \
-v '\\.\pipe\docker_engine':'\\.\pipe\docker_engine' \
-v %cd%'\jcasc_configs':'C:\ProgramData\Jenkins\jcasc_configs' \
-p 8888:8080 \
-p 55555:50000 \
andreav/jenkins-win
The base image is completely based on the wonderful work made by github slide user. Source code can be found here on github
I have published an image ready to use on Docekr Hub here
That base image will be dropped when pull request #924 will be integarted into jenkinsci official docker images.
JCasC documentation: https://jenkins.io/projects/jcasc/
And praqma blog: https://github.com/Praqma/praqma-jenkins-casc