Development Tools
Local development environment tools and wrappers for testing and development workflows.
Name | Description |
---|---|
act | local github action act wrapper. |
kind | local kubernetes kind wrapper. |
Act - GitHub Actions on Local
Prerequisite
Download & install act on your local machine (this step is done in the local CI script).
curl https://raw.githubusercontent.com/nektos/act/master/install.sh | sudo bash
Test CI/CD
Put this directory in your git project, then :
# Start act
sh run-ci-locally.sh
Results analysis
Once the CI has finished running locally, artifacts are available in the folder ./artifacts/<date>/
.
Local registry
It is possible to start a local docker registry running on port 5555
by adding -r
flag on script run-ci-locally.sh
. For more details, see ./registry/docker-compose.registry.yml
.
Runner
The default runner uses dotfiles to install and configure all the standard tools needed for development and CI/CD.
TIP
See all tools installed in the default runner by checking ./runners/Dockerfile
.
Kind - Kubernetes in Docker
Prerequisite
Download & install on your local machine :
Declare your images into the ./docker-compose.yml
file, it is used for parralel build and load images into Kind nodes.
Commands
Put this directory in your git project, then start using the script :
# Start kind cluster
sh ./run.sh -c create
# Build and load docker-compose images into the cluster
sh ./run.sh -c build
# Stop kind cluster
sh ./run.sh -c delete
# Start kind cluster, build and load images and deploy app
sh ./run.sh -c dev
TIP
See script helper by running sh ./run.sh -h
Cluster
One single node is deployed but it can be customized in ./configs/kind-config.yml
. The cluster comes with Traefik or Nginx ingress controller installed with port mapping on both ports 80
and 443
.
The node is using extraMounts
to provide a volume binding between host working directory and /app
to give the ability to bind mount volumes into containers during development.