Jeet Patel
Jeet Patel

Reputation: 1241

How to add multiple tags to an image in Google Artifacts Registry

I am trying to build a CI/CD using GitHub Actions. So far I am able to check out the code, start the database service, run the test case, built the docker, tag a docker image and then push it to the Artifacts registry. However, now I want to add another tag (before push I already tagged it version) to that image as shown in the below image. But this should happen via Github Actions itself.

enter image description here

After looking for the solutions I have found a command -

gcloud artifacts docker tags add tag ${{ secrets.REGION }}-docker.pkg.dev/${{ secrets.GOOGLE_CLOUD_PROJECT }}/${{ secrets.ARTIFACTS_REPO }}/yacht-away:$GIT_TAG ${{ secrets.REGION }}-docker.pkg.dev/${{ secrets.GOOGLE_CLOUD_PROJECT }}/${{ secrets.ARTIFACTS_REPO }}/yacht-away:latest

I simply replaced the image arguments. In the above command. But this is throwing me an error -

ERROR: (gcloud.artifacts.docker.tags.add) unrecognized arguments: ***-docker.pkg.dev/***/***/***:latest 

To search the help text of gcloud commands, run:
  gcloud help -- SEARCH_TERMS

Where am I going wrong? How can I add multiple tags to an image in Artifacts via GitHub actions.

Upvotes: 2

Views: 3178

Answers (2)

Superluminal
Superluminal

Reputation: 977

The commad is

gcloud artifacts docker tags add DOCKER_IMAGE DOCKER_TAG

Not

gcloud artifacts docker tags add tag DOCKER_IMAGE DOCKER_TAG

source: https://cloud.google.com/sdk/gcloud/reference/artifacts/docker/tags/add

Upvotes: 2

Harsh Mishra
Harsh Mishra

Reputation: 901

It is advisable for you to use Docker's official Build Push action to build and push Docker images to whatever container registry you are using.

If you have a look over the customization options in the above action, you can just add a comma between the tags for multiple tagging, like this:

- name: Build and push
  uses: docker/build-push-action@v2
  with:
    context: .
    push: true
    tags: ${{ secrets.DOCKERHUB_USERNAME }}/myapp:${{ steps.vars.outputs.tag }} , ${{ secrets.DOCKERHUB_USERNAME }}/myapp:latest

Upvotes: 4

Related Questions