56 lines
1.7 KiB
Markdown
56 lines
1.7 KiB
Markdown
# CI Builder
|
|
|
|
My CI testing pipeline for a django project.
|
|
|
|
[](https://gitlab.ducoterra.net/ducoterra/ci_builder/-/commits/master)
|
|
|
|
## Prereqs
|
|
|
|
1. Docker: https://www.docker.com/products/docker-desktop
|
|
2. kubectl: https://kubernetes.io/docs/tasks/tools/#kubectl
|
|
3. helm: https://helm.sh/docs/intro/install/
|
|
4. k3d: https://k3d.io/
|
|
5. You'll be using "*.localhost" domains for testing. This means you'll either have to use Chrome (which has these built in) or firefox. In Firefox:
|
|
|
|
1. Type `about:config` in the url field of your browser and press enter
|
|
2. Search for `network.dns.localDomains`
|
|
3. Double click to edit the field
|
|
4. Add these values: `button.localhost, pgadmin.localhost, traefik.localhost`
|
|
5. As you build your own sites you can add more to test!
|
|
|
|
## Docker
|
|
|
|
```bash
|
|
# build the docker image. This uses the build step from docker-compose.yml.
|
|
docker compose build
|
|
|
|
# Now start postgres, pgadmin and traefik
|
|
docker compose up -d postgres pgadmin traefik
|
|
|
|
# Navigate to http://traefik.localhost to see your ingress routes
|
|
|
|
# View the logs to check the container status
|
|
docker compose logs
|
|
|
|
# Now start the init container and wait for migrations to apply
|
|
docker compose up init
|
|
|
|
# Now start the button container
|
|
docker compose up -d button
|
|
|
|
# View the site logs
|
|
docker compose logs --follow button
|
|
|
|
# Navigate to http://button.localhost
|
|
|
|
# Take down the site
|
|
docker compose down
|
|
```
|
|
|
|
## K3D
|
|
|
|
```bash
|
|
# Create a cluster for our button app
|
|
k3d cluster create button -p "80:8000@loadbalancer" --volume $HOME/.kube/registries.yaml:/var/lib/rancher/k3s/registries.yaml
|
|
```
|