csa-backend-test/.gitea/workflows/dev-deploy.yml

56 lines
1.4 KiB
YAML

name: Deploy Backend Development Environment
on:
push:
branches: [ dev ]
workflow_dispatch:
env:
ENV_NAME: dev
IMAGE_NAME: csa-backend
REGISTRY: ${{ secrets.REGISTRY_URL }}
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set image tag
run: |
echo "IMAGE_TAG=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
- name: Login to registry
run: |
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login $REGISTRY \
-u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin
- name: Build and push image
run: |
docker build -t $REGISTRY/$IMAGE_NAME:$IMAGE_TAG .
docker push $REGISTRY/$IMAGE_NAME:$IMAGE_TAG
- name: Clone manifest repo
run: |
git clone https://oauth2:${{ secrets.MANIFEST_REPO_TOKEN }}@${{ secrets.MANIFEST_REPO_URL }} manifest
cd manifest
git checkout dev
- name: Update kustomization (DEV)
run: |
cd manifest/overlays
kustomize edit set image $REGISTRY/$IMAGE_NAME=$REGISTRY/$IMAGE_NAME:$IMAGE_TAG
- name: Commit manifest update
run: |
cd manifest
git config user.name "csa-ci"
git config user.email "ci@gitea.local"
git commit -am "deploy(${ENV_NAME}): update backend image to $IMAGE_TAG"
git push origin (${ENV_NAME})
- name: Cleanup workspace
run: |
rm -rf manifest