5aa28c8409
Co-authored-by: Copilot <copilot@github.com>
66 lines
2.3 KiB
YAML
66 lines
2.3 KiB
YAML
name: Build Push and Deploy
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
|
|
jobs:
|
|
docker-image:
|
|
runs-on: ubuntu
|
|
permissions:
|
|
contents: read
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Login to Gitea Container Registry
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: ${{ secrets.REGISTRY_HOST }}
|
|
username: ${{ secrets.REGISTRY_USERNAME }}
|
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
|
|
|
- name: Build and Push Image
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: .
|
|
file: ./Dockerfile
|
|
push: true
|
|
tags: |
|
|
${{ secrets.REGISTRY_HOST }}/${{ github.repository }}:${{ github.ref_name }}
|
|
${{ secrets.REGISTRY_HOST }}/${{ github.repository }}:latest
|
|
build-args: |
|
|
NEXT_PUBLIC_BACKEND_URL=${{ secrets.NEXT_PUBLIC_BACKEND_URL }}
|
|
NEXT_PUBLIC_COPILOT_URL=${{ secrets.NEXT_PUBLIC_COPILOT_URL }}
|
|
NEXT_PUBLIC_AUDIO_SERVICE_URL=${{ secrets.NEXT_PUBLIC_AUDIO_SERVICE_URL }}
|
|
NEXT_PUBLIC_MAP_URL=${{ secrets.NEXT_PUBLIC_MAP_URL }}
|
|
NEXT_PUBLIC_MAP_WORKSPACE=${{ secrets.NEXT_PUBLIC_MAP_WORKSPACE }}
|
|
NEXT_PUBLIC_MAP_EXTENT=${{ secrets.NEXT_PUBLIC_MAP_EXTENT }}
|
|
NEXT_PUBLIC_NETWORK_NAME=${{ secrets.NEXT_PUBLIC_NETWORK_NAME }}
|
|
NEXT_PUBLIC_MAPBOX_TOKEN=${{ secrets.NEXT_PUBLIC_MAPBOX_TOKEN }}
|
|
NEXT_PUBLIC_TIANDITU_TOKEN=${{ secrets.NEXT_PUBLIC_TIANDITU_TOKEN }}
|
|
NEXT_PUBLIC_API_URL=${{ secrets.NEXT_PUBLIC_API_URL }}
|
|
|
|
- name: Notify Deploy Server
|
|
if: success()
|
|
env:
|
|
IMAGE: ${{ secrets.REGISTRY_HOST }}/${{ github.repository }}:${{ github.ref_name }}
|
|
run: |
|
|
curl -fsSL -X POST "${{ secrets.DEPLOY_WEBHOOK_URL }}" \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer ${{ secrets.DEPLOY_WEBHOOK_TOKEN }}" \
|
|
-d "{\"image\":\"${IMAGE}\",\"tag\":\"${{ github.ref_name }}\",\"repo\":\"${{ github.repository }}\"}"
|
|
|
|
deploy-fallback-log:
|
|
runs-on: ubuntu
|
|
needs: docker-image
|
|
if: failure()
|
|
steps:
|
|
- name: Deployment not triggered
|
|
run: echo "Image build/push failed, deployment webhook was not called."
|