diff --git a/.github/workflows/deploy-image.yml b/.github/workflows/deploy-image.yml new file mode 100644 index 0000000..16230bd --- /dev/null +++ b/.github/workflows/deploy-image.yml @@ -0,0 +1,43 @@ +# +name: Create and publish a Docker image + +# Configures this workflow to run every time a change is pushed to the branch called `release`. +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +# Defines two custom environment variables for the workflow. These are used for the Container registry domain, and a name for the Docker image that this workflow builds. +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +# There is a single job in this workflow. It's configured to run on the latest available version of Ubuntu. +jobs: + build-and-push-image: + runs-on: ubuntu-latest + # Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job. + permissions: + contents: read + packages: write + attestations: write + # + steps: + - name: Checkout repository + uses: actions/checkout@v4 + # Uses the `docker/login-action` action to log in to the Container registry registry using the account and password that will publish the packages. Once published, the packages are scoped to the account defined here. + - name: Log in to the Container registry + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build images + run: | + make build-all + docker image ls | grep zenika + - name: Publish images + if: github.ref == 'refs/heads/main' + run: | + make push-all diff --git a/k8s-training-deploy/Makefile b/k8s-training-deploy/Makefile index dec7325..77d7f97 100644 --- a/k8s-training-deploy/Makefile +++ b/k8s-training-deploy/Makefile @@ -1,5 +1,5 @@ .PHONY: build-v1 push-v1 build-v2 push-v2 build push -image_name=zenika/k8s-training-deploy +image_name=ghcr.io/zenika-training/k8s-training-deploy build-v1: version=v1 build-v1: build diff --git a/k8s-training-stress/Makefile b/k8s-training-stress/Makefile index c3c06c9..62974cc 100644 --- a/k8s-training-stress/Makefile +++ b/k8s-training-stress/Makefile @@ -1,5 +1,5 @@ .PHONY: build push -image_name=zenika/k8s-training-stress:v3 +image_name=ghcr.io/zenika-training/k8s-training-stress:v3 build: docker image build -t $(image_name) . diff --git a/k8s-training-tools/Makefile b/k8s-training-tools/Makefile index f8babea..dc298ff 100644 --- a/k8s-training-tools/Makefile +++ b/k8s-training-tools/Makefile @@ -1,5 +1,5 @@ .PHONY: build push -image_name=zenika/k8s-training-tools:v5 +image_name=ghcr.io/zenika-training/k8s-training-tools:v5 build: docker image build -t $(image_name) .