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 bashTest CI/CD
Put this directory in your git project, then :
# Start act
sh run-ci-locally.shResults 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 devTIP
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.