![Tickets in Release](https://badge.waffle.io/rickycook/dockci.svg?label=ready&title=This Release)
DockCI is still alpha! It's certainly not feature complete. It's heading towards MVP.
DockCI aims to be one of the missing links in a full Docker CI/CD pipeline. Currently, most people are testing and deploying containers via build tools like Jenkins and Bamboo, but these tools were not made for your containerized new world. The idea of build agents with all your build tools is outdated, the idea of build steps in your CI config is outdated!
Builds are getting more and more complex, and the old way of approaching CI is not keeping up. This is what DockCI aims to solve. DockCI's goals are:
Lofty goals! Some might say. But, the tools are already out there. All DockCI does is pull together some ideas and technologies to help us out.
Sounds great, right? And it will be! But it's not ready yet! Soooooo read on ;D
Registry steps are optional. If you do not want to use a registry at all, you may disable registry support in the config page when DockCI is running.
docker-machine create default
--engine-insecure-registry http://localhost:5000
--driver vmwarefusion
docker-machine create --driver vmwarefusion --engine-insecure-registry http://localhost:5000 default
eval "$(docker-machine env default)"
git clone https://github.com/sprucedev/DockCI.git
docker-compose up
echo http://$(docker-machine ip default):5001
docker-compose rm
DOCKCI_DB_URI
environment variableREDIS_PORT_6379_ADDR
environment variableRABBITMQ_PORT_5672_TCP_ADDR
environment variableRABBITMQ_ENV_FRONTEND_USER
, RABBITMQ_ENV_FRONTEND_PASSWORD
, RABBITMQ_ENV_BACKEND_USER
and RABBITMQ_ENV_FRONTEND_PASSWORD
environment variables (the default for all is guest
)manage.py
script is used to execute commands on the DockCI installDOCKCI_DB_URI=postgres://dockciuser:dockcipass@localhost:5432/dbname ./manage.py run --db-migrate --timeout 15 --bind 0.0.0.0:5000
If you want to help DockCI see the light of day, pull requests are certainly
accepted! You can probably find something that you can work on in the
GitHub issues. There's also a
waffle.io project board with issues
ranked (approximately) highest to lowest priority. Just choose something that
isn't already labeled as in progress
, or already has someone assigned to it
(here's a filter).
The main code base is also really hastily written, so anything that you'd like to refactor, got nuts! It really needs to be done!
All pull requests must completely pass PEP8 and 10/10 with the pylint config
given. You can check this with make test
(that's what Travis does too). No
green CI, no merge!
Make sure you update the CHANGELOG.md with any changes you make, including the pull request number so that we can easily track changes between versions. You'll obviously need to create the pull request, then update the changelog to add the PR number.
If you want to have a talk about ideas, project priorities, etc feel free to drop me an email at mail[at]thatpanda.com.