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 ```