Skip to content

Create and publish a Docker image then deploy it #60

Create and publish a Docker image then deploy it

Create and publish a Docker image then deploy it #60

Workflow file for this run

name: Create and publish a Docker image then deploy it
on:
workflow_dispatch:
push:
paths:
- "**.go"
env:
REGISTRY: ghcr.io
IMAGE_NAME: "${{ github.repository }}"
jobs:
build-and-push-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4.1.1
- name: Log in to the Container registry
uses: docker/login-action@v3.1.0
with:
registry: "${{ env.REGISTRY }}"
username: "${{ github.actor }}"
password: "${{ secrets.GITHUB_TOKEN }}"
- name: "Extract metadata (tags, labels) for Docker"
id: meta
uses: docker/metadata-action@v5.5.1
with:
images: "${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}"
- name: Build and push Docker image
uses: docker/build-push-action@v5.3.0
with:
context: .
push: true
tags: "${{ steps.meta.outputs.tags }}"
labels: "${{ steps.meta.outputs.labels }}"
deploy:
needs: build-and-push-image
runs-on: ubuntu-latest
steps:
- name: sleep for 5s
run: sleep 5s
shell: bash
- name: redeploy
run: "curl -s ${{secrets.DEPLOY_HOOK}} > /dev/null"
shell: bash