39 lines
985 B
YAML
39 lines
985 B
YAML
name: Deploy to Production
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: splendid-bear
|
|
steps:
|
|
- name: Checkout tag
|
|
env:
|
|
GITEA_TOKEN: ${{ gitea.token }}
|
|
run: |
|
|
set -e
|
|
export HOME=/tmp
|
|
git config --global credential.helper '!f() { echo "username=oauth2"; echo "password=$GITEA_TOKEN"; }; f'
|
|
git config --global --add safe.directory "${{ vars.PROD_APP_DIR }}"
|
|
cd "${{ vars.PROD_APP_DIR }}"
|
|
git fetch --tags --force
|
|
git checkout "${{ gitea.ref_name }}"
|
|
|
|
- name: Write .env
|
|
env:
|
|
PROD_ENV_FILE: ${{ secrets.PROD_ENV_FILE }}
|
|
run: |
|
|
printf '%s' "$PROD_ENV_FILE" > "${{ vars.PROD_APP_DIR }}/.env"
|
|
|
|
- name: Build image
|
|
run: |
|
|
cd "${{ vars.PROD_APP_DIR }}"
|
|
docker compose build
|
|
|
|
- name: Start services
|
|
run: |
|
|
cd "${{ vars.PROD_APP_DIR }}"
|
|
docker compose up -d
|