Dockerization
A quick way to stand up your tool stack is through docker. In a sandbox environment, you can set up the entire tool stack with docker.
Note: This has been tested only in Sandbox mode, for a larger scale (i.e. a setup that serves distributed teams), we have to plan more elaborately.
Pre-Requisites
Install docker on your host machine or use docker-machine (that in turn uses VirtualBox to manage the docker host for you).
ci toolstack
I have been modifying the configuration of the stack based on my requirements in this github repo. This will be a work in progress. However if you would like to quickly start a CI demo toolbox, feel free to use the original author of the Dockerfiles for this here
How is it done
- Fire up docker-machine (use default VM)
- Pull down the github repo above
- docker-compose up from inside the repo
This should start all of CI tools we need in a sandbox environment
Steps
Install docker-machine : I went ahead and installed Docker ToolBox, that included docker-machine
- As you can see I had "default" and "testB" docker machines
- default is already started
- If default is not started, feel free to execute "docker-machine start default"
docker-compose: After checking out the above git repo for ci-tool stack, execute "docker-compose up" as below
This should run for a while and eventually you should see them all running.
Kitematic: There is a GUI that helps viewing containers much like how we can view VM's. Docker partnered with VirtualBox and I really appreciate the UI for lesser-technical folks or for someone at the beginning stages.
As you can see above, you can click each of the containers and identify the ports on which the services are running. The services follow this table:
Access Tools
Tool | Link | Credentials |
---|---|---|
Jenkins | http://${docker-machine ip default}:18080/ | no login required |
SonarQube | http://${docker-machine ip default}:19000/ | admin/admin |
Nexus | http://${docker-machine ip default}:18081/nexus | admin/admin123 |
GitLab | http://${docker-machine ip default}:10080/ | root/5iveL!fe |
Selenium Grid | http://${docker-machine ip default}:4444/grid/console | no login required |
More help
Please write to email if you have questions on dockerization.