Skip to content
/ goapp Public template

Bootstrap project for Go CLI app with Docker and GitHub actions

License

Notifications You must be signed in to change notification settings

alexei-led/goapp

Repository files navigation

docker Go Report Card Docker Pulls

goapp

The goapp is a bootstrap project for Go CLI application.

Docker

The goapp uses Docker both as a CI tool and for releasing the final goapp Multi-Architecture Docker image (scratch with updated ca-credentials package).

Makefile

The goapp Makefile is used for task automation only: compile, lint, test, etc.

Continuous Integration

The GitHub action docker is used for the goapp CI.

Build with Docker

Use Docker buildx plugin to build multi-architecture Docker image.

docker buildx build --platform=linux/arm64,linux/amd64 -t goapp -f Dockerfile .

Required GitHub secrets

Please specify the following GitHub secrets:

  1. DOCKER_USERNAME - Docker Registry username
  2. DOCKER_PASSWORD - Docker Registry password or token
  3. CR_PAT - Current GitHub Personal Access Token (with write/read packages permission)
  4. DOCKER_REGISTRY - optional; Docker Registry name, default to docker.io
  5. DOCKER_REPOSITORY - optional; Docker image repository name, default to $GITHUB_REPOSITORY (i.e. user/repo)