a poor man's gitops
Christian Hennevogl
208eed8048
- Quote variables in `dirname` to prevent word splitting
- Use quotes around `$LINE` in `grep` to handle spaces
- Quote `cd` paths to handle directories with spaces
- Quote `docker compose` file argument to handle file names with spaces
🤖
|
||
---|---|---|
.gitignore | ||
dc-ops | ||
README.md | ||
stacklist.example |
Docker Compose Ops (dc-ops)
dc-ops
is a shell script designed to operations automate the local building and updating of several Docker services.
It aims to simplify continuous delivery (CD) processes and infrastructure management in a Docker environment.
How does it work?
- The script iterates through each line of the
stacklist
file (skipping comments) or through all cli parameters - It fetches the latest changes from the remote git repository and checks if there are new commits
- If there is a change it pulls the updates from the remote git repository, otherwise the entry is skipped
- Following this, it runs
docker compose up
which builds, (re)creates and starts the containers
The stacklist
file can list either a directory containing a docker-compose.yml
file or a precise docker-compose
file (see stacklist.example
).
Alternatively, the stacklist can also be passed as a list of parameters.
Usage
./dc-ops /path/to/repo /path/to/another-repo /path/with/docker-compose-dev.yml
or- Update
stacklist
file and run./dc-ops
(or create a crontab entry)