dotfiles/dev/README.md

57 lines
1.5 KiB
Markdown
Raw Permalink Normal View History

# dev
This directory contains some useful dockerfiles/makefiles that can be used
to test the deployment ansible playbooks.
```bash
make arch # this builds a docker image based on archlinux and runs it
make debian # this builds a docker image based on debian and runs it
```
## Workflow
Start a builder in one shell:
```bash
while true; do make _run; done
```
_check for the docker IP of the started container_.
Test the playbook in another shell:
```bash
ansible-playbook -v -i ./ansible-hosts playbooks/setup.yml
```
note: the ip address in `ansible-hosts` might have changed from `172.18.0.2`.
2020-12-08 22:06:03 +01:00
## Docker images
- Build: `make build-arch` or `make build-debian` to build the image.
- Run: `make run` to run the docker container. This bind-mounts `../` to
`/root/.dotfiles`, making it possible to test the repo in the container.
## Docker + Ansible
Run `dotfiles-dev` image using `make run`. This starts the container with
the local repository bind-mounted on `/root/.dotfiles`. To use a custom volume:
```bash
docker run -v <volume>:/root/dofiles`
```
**IMPORTANT** if bind-mounting an already existing repository, run
`ansible` with `-e local_development=true` to avoid
clobbering the git history if you have unpushed commit (it won't
work if your repo is dirty).
Ansible can now be used to test the installation.
make ansible
## Releasing
Use `make release` to build an image from scratch, run it, install dotfiles
in the container using ansible, then commit the resulting container.