Files
uis-cloud-computing/.github/workflows/workflow.yml

55 lines
1.6 KiB
YAML

name: Build, Push and Update Image in Manifest
on:
push:
branches: [ "main" ]
paths:
- 'backend/**'
workflow_dispatch:
jobs:
build-and-update:
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
id: build
uses: docker/build-push-action@v5
with:
context: ./backend
push: true
tags: ${{ secrets.DOCKER_USER }}/cc-app-demo:latest
- name: Get image digest
run: echo "IMAGE_DIGEST=${{ steps.build.outputs.digest }}" >> $GITHUB_ENV
- name: Update manifests with new image digest
uses: OpsVerseIO/image-updater-action@0.1.0
with:
branch: main
targetBranch: main
createPR: 'false'
message: 'Update image digest in manifests'
token: ${{ secrets.GITHUB_TOKEN }}
changes: |
{
"deployment/app-demo-deployment.yaml": {
"spec.template.spec.containers[0].image": "${{ secrets.DOCKER_USER }}/cc-app-demo@${{ env.IMAGE_DIGEST }}"
},
"deployment/app-demo-worker-deployment.yaml": {
"spec.template.spec.containers[0].image": "${{ secrets.DOCKER_USER }}/cc-app-demo@${{ env.IMAGE_DIGEST }}"
}
}