This is an example of a system for automatically creating pipelines that was created in order to create a video of it working, rather than as an example of good code for such a system. It isn't intended to be used for anything real, or to be a particularly good example. It has been deliberately kept short and simple.
Run the GoCD server and agent
- docker-compose up -d
See GoCD server running
- on a mac you'll need to do something special like
docker-machine ip defaultto find the appropriate ip address to use instead of "localhost".
Set up inception pipeline
- docker-compose run configure bash
Inside container just started, run:
Note that this will run a script curled from my GitHub account. Don't run it until you have read the code and understood what it is doing.
- press the "play" button on the "inception" pipeline in the GoCD UI http://localhost:8153
from within the container you just used for
curl -X POST http://go-server:8153/go/api/pipelines/inception/schedule
wait up to an hour (you could reduce the poll time by changing the value passed in to
Create new repos
- if you are me, create a new repo in https://github.com/teamoptimization
- alternatively, clone this repo and edit value passed in to
Do something that changes pipeline
- if you are me, edit one of the "command.txt" files in one of the repos in https://github.com/teamoptimization
- alternatively, clone this repo and edit inception.py (as in Create new repos), then edit one of the "command.txt" files in one of the relevant repos
The server says it can't resolve bitbucket.com - follow these instructions.