51 lines
1.9 KiB
YAML
Executable File
51 lines
1.9 KiB
YAML
Executable File
name: Build and Push Images
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
build-backend:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Login to Gitea Registry
|
|
run: |
|
|
echo "${{ secrets.REGISTRY_PASSWORD }}" | docker login ${{ secrets.REGISTRY_HOST }} \
|
|
-u ${{ secrets.REGISTRY_USER }} --password-stdin
|
|
|
|
- name: Build & Push Backend
|
|
run: |
|
|
IMAGE=${{ secrets.REGISTRY_HOST }}/${{ secrets.REGISTRY_USER }}/portal-backend:${{ github.sha }}
|
|
IMAGE_LATEST=${{ secrets.REGISTRY_HOST }}/${{ secrets.REGISTRY_USER }}/portal-backend:latest
|
|
docker build -t $IMAGE -t $IMAGE_LATEST ./backend/
|
|
docker push $IMAGE
|
|
docker push $IMAGE_LATEST
|
|
|
|
- name: Build & Push Frontend
|
|
run: |
|
|
IMAGE=${{ secrets.REGISTRY_HOST }}/${{ secrets.REGISTRY_USER }}/portal-frontend:${{ github.sha }}
|
|
IMAGE_LATEST=${{ secrets.REGISTRY_HOST }}/${{ secrets.REGISTRY_USER }}/portal-frontend:latest
|
|
docker build -t $IMAGE -t $IMAGE_LATEST ./frontend/
|
|
docker push $IMAGE
|
|
docker push $IMAGE_LATEST
|
|
|
|
- name: Update K8s image tags
|
|
run: |
|
|
BACKEND_IMAGE=${{ secrets.REGISTRY_HOST }}/${{ secrets.REGISTRY_USER }}/portal-backend:${{ github.sha }}
|
|
FRONTEND_IMAGE=${{ secrets.REGISTRY_HOST }}/${{ secrets.REGISTRY_USER }}/portal-frontend:${{ github.sha }}
|
|
|
|
sed -i "s|image: .*portal-backend.*|image: ${BACKEND_IMAGE}|g" k8s/04-backend.yaml
|
|
sed -i "s|image: .*portal-frontend.*|image: ${FRONTEND_IMAGE}|g" k8s/05-frontend.yaml
|
|
|
|
- name: Commit updated yaml
|
|
run: |
|
|
git config user.name "gitea-actions"
|
|
git config user.email "actions@gitea"
|
|
git add k8s/04-backend.yaml k8s/05-frontend.yaml
|
|
git diff --staged --quiet || git commit -m "ci: update image tags to ${{ github.sha }}"
|
|
git push
|