{"repo":"harbur/captain","free":true,"listed":false,"github":"https://github.com/harbur/captain","clone":"git clone https://github.com/harbur/captain.git","description":"Captain - Convert your Git workflow to Docker :whale: containers","language":"Go","stars":776,"topics":["docker","cli","build-tool","git","ci"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"Introduction Captain - Convert your Git workflow to Docker containers ready for Continuous Delivery Define your workflow in the captain.yaml and use captain to your Continuous Delivery service to create containers for each commit, test them and push them to your registry only when tests passes. Use captain build to build your Dockerfile(s) of your repository. If your repository has local changes the containers will only be tagged as latest , otherwise the containers will be tagged as latest , COMMIT ID & BRANCH NAME . Now your Git commit tree is reproduced in your local docker repository. Use captain test to run your tests Use captain push to send selected images to the remote repository From the other side, you can now pull the feature branch you want to test, or create distribution channels (such as 'alpha', 'beta', 'stable') using git tags that are propagated to container tags. Installation To install Captain, run: You will need to add /.captain/bin in your PATH . E.g. in your .bashrc or .zshrc add: Captain.yml Format Captain will automatically configure itself with sane values without the need for any pre-configuration, so that it will work in most cases. When it doesn't, the captain.yml file can be used to configure it properly. This is a simple YAML file placed on the root directory of your git repository. Captain will look for it and use it to be configured. Here is a full captain.yml example: image The location of the Dockerfile to be compiled. When auto-detecting, th","default_branch":null,"files":null,"tree":[],"storefront":"/r/harbur","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/harbur/captain/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}