From 5aca64f130fe5be99c310977c912b8b08fc5ea04 Mon Sep 17 00:00:00 2001 From: Ricardo Correa Date: Thu, 16 Jul 2020 11:42:32 +0200 Subject: [PATCH] Update README.md Add checkout step to examples. Signed-off-by: Ricardo Correa --- README.md | 93 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 43e207b..1622ddc 100644 --- a/README.md +++ b/README.md @@ -160,58 +160,83 @@ Whether to push the built image. The following will build the root Dockerfile, tag the image as `myorg/myrepository:latest`, log in to Docker Hub using GitHub secrets, and push the image to the Docker Hub repository `myorg/myrepository`: ```yaml -uses: docker/build-push-action@v1 -with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - repository: myorg/myrepository - tags: latest +steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Build and push Docker images + uses: docker/build-push-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + repository: myorg/myrepository + tags: latest ``` The following will build the root Dockerfile, tag the image with the git reference and SHA as described above, log in to Docker Hub using GitHub secrets, and push the image to the Docker Hub repository `myorg/myrepository`: ```yaml -uses: docker/build-push-action@v1 -with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - repository: myorg/myrepository - tag_with_ref: true - tag_with_sha: true +steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Build and push Docker images + uses: docker/build-push-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + repository: myorg/myrepository + tag_with_ref: true + tag_with_sha: true ``` The following will only push the image when the event that kicked off the workflow was a push of a git tag: ```yaml -uses: docker/build-push-action@v1 -with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - repository: myorg/myrepository - tag_with_ref: true - push: ${{ startsWith(github.ref, 'refs/tags/') }} +steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Build and push Docker images + uses: docker/build-push-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + repository: myorg/myrepository + tag_with_ref: true + push: ${{ startsWith(github.ref, 'refs/tags/') }} ``` The following builds the `mytarget` stage and pushes that: ```yaml -uses: docker/build-push-action@v1 -with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - repository: myorg/myrepository - tag_with_ref: true - target: mytarget +steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Build and push Docker images + uses: docker/build-push-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + repository: myorg/myrepository + tag_with_ref: true + target: mytarget ``` The following will build the root Dockerfile, tag the image as `myorg/myrepository:latest`, log in to Google Container Registry using GitHub secrets (where `DOCKER_PASSWORD` is a [JSON key](https://cloud.google.com/container-registry/docs/advanced-authentication#json-key)), and push the image to the GCR repository `myorg/myrepository`: ```yaml -uses: docker/build-push-action@v1 -with: - username: _json_key - password: ${{ secrets.DOCKER_PASSWORD }} - registry: gcr.io - repository: myorg/myrepository - tags: latest +steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Build and push Docker images + uses: docker/build-push-action@v1 + with: + username: _json_key + password: ${{ secrets.DOCKER_PASSWORD }} + registry: gcr.io + repository: myorg/myrepository + tags: latest ```