chat_back/.forgejo/workflows/deploy.yml
Workflow config file is invalid. Please check your config file: yaml: line 8: did not find expected key
2025-04-11 17:57:57 +03:00

131 lines
4.7 KiB
YAML

on: [push]
env:
CHAT_BACK_IMAGE: 'git.urec56.ru/${{ env.GITHUB_REPOSITORY_OWNER }}/chat_back:${{ env.GITHUB_SHA }}'
CHAT_CELERY_IMAGE: 'git.urec56.ru/${{ env.GITHUB_REPOSITORY_OWNER }}/celery:${{ env.GITHUB_SHA }}'
jobs:
prepare:
runs-on: docker
# outputs:
# chat_back_image: ${{ steps.set-vars.outputs.chat_back_image }}
# celery_image: ${{ steps.set-vars.outputs.celery_image }}
steps:
- name: Set vars
run: |
echo 'chat_back_image=git.urec56.ru/${{ env.GITHUB_REPOSITORY_OWNER }}/chat_back:${{ env.GITHUB_SHA }}' >> ${{ env.GITHUB_OUTPUT }}
echo 'celery_image=git.urec56.ru/${{ env.GITHUB_REPOSITORY_OWNER }}/celery:${{ env.GITHUB_SHA }}' >> ${{ env.GITHUB_OUTPUT }}
build:
runs-on: docker
needs: prepare
steps:
- name: Check env
run: |
echo '${{ needs.prepare.outputs.chat_back_image }}'
echo '${{ needs.prepare.outputs.celery_image }}'
- name: Get code
uses: https://git.urec56.ru/urec/checkout@v4
- name: Set up Docker Buildx
uses: https://git.urec56.ru/urec/setup-buildx-action@v3
- name: Log in to container registry
uses: https://git.urec56.ru/urec/login-action@v3
with:
registry: git.urec56.ru
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Generate .env
run: |
touch .env
echo 'MODE=${{ env.MODE }}' >> .env
echo 'DB_HOST=${{ secrets.DB_HOST }}' >> .env
echo 'DB_PORT=${{ secrets.DB_PORT }}' >> .env
echo 'DB_USER=${{ secrets.DB_USER }}' >> .env
echo 'DB_PASS=${{ secrets.DB_PASS }}' >> .env
echo 'DB_NAME=${{ secrets.DB_NAME }}' >> .env
echo 'JWT_SECRET_KEY=${{ secrets.JWT_SECRET_KEY }}' >> .env
echo 'JWT_ALGORITHM=${{ env.JWT_ALGORITHM }}' >> .env
echo 'REDIS_HOST=${{ secrets.REDIS_HOST }}' >> .env
echo 'REDIS_PORT=${{ secrets.REDIS_PORT }}' >> .env
echo 'REDIS_DB=${{ secrets.REDIS_DB }}' >> .env
echo 'MONGO_HOST=${{ secrets.MONGO_HOST }}' >> .env
echo 'MONGO_PORT=${{ secrets.MONGO_PORT }}' >> .env
echo 'SMTP_HOST=${{ secrets.SMTP_HOST }}' >> .env
echo 'SMTP_PORT=${{ secrets.SMTP_PORT }}' >> .env
echo 'SMTP_USER=${{ secrets.SMTP_USER }}' >> .env
echo 'SMTP_PASS=${{ secrets.SMTP_PASS }}' >> .env
echo 'IMAGE_UPLOAD_SERVER=${{ env.IMAGE_UPLOAD_SERVER }}' >> .env
echo 'INVITATION_LINK_HOST=${{ env.INVITATION_LINK_HOST }}' >> .env
echo 'INVITATION_LINK_TOKEN_KEY=${{ secrets.INVITATION_LINK_TOKEN_KEY }}' >> .env
echo 'SENTRY_DSN=${{ secrets.SENTRY_DSN }}' >> .env
echo 'ADMIN_USER=${{ env.ADMIN_USER }}' >> .env
echo 'ADMIN_USER_ID=${{ env.ADMIN_USER_ID }}' >> .env
echo 'REGISTRATED_USER=${{ env.REGISTRATED_USER }}' >> .env
echo 'VERIFICATED_USER=${{ env.VERIFICATED_USER }}' >> .env
- name: Build and push backend
uses: https://git.urec56.ru/urec/build-push-action@v6
with:
context: .
file: docker/Dockerfile_back
push: true
tags: ${{ needs.prepare.outputs.chat_back_image }}
cache-from: type=registry,ref=git.urec56.ru/${{ env.GITHUB_REPOSITORY_OWNER }}/chat_back:buildcache
cache-to: type=registry,ref=git.urec56.ru/${{ env.GITHUB_REPOSITORY_OWNER }}/chat_back:buildcache,mode=max
- name: Build and push celery
uses: https://git.urec56.ru/urec/build-push-action@v6
with:
context: .
file: docker/Dockerfile_celery
push: true
tags: ${{ needs.prepare.outputs.celery_image }}
cache-from: type=registry,ref=git.urec56.ru/${{ env.GITHUB_REPOSITORY_OWNER }}/celery:buildcache
cache-to: type=registry,ref=git.urec56.ru/${{ env.GITHUB_REPOSITORY_OWNER }}/celery:buildcache,mode=max
deploy:
runs-on: docker
needs:
- prepare
- build
steps:
- name: Checkout repo
uses: https://git.urec56.ru/urec/checkout@v4
- name: Log in to container registry
uses: https://git.urec56.ru/urec/login-action@v3
with:
registry: git.urec56.ru
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Pull and run container
run: |
CHAT_BACK_IMAGE=${{ needs.prepare.outputs.chat_back_image }}
CHAT_CELERY_IMAGE=${{ needs.prepare.outputs.celery_image }}
docker pull ${CHAT_BACK_IMAGE}
docker pull ${CHAT_CELERY_IMAGE}
docker compose -f docker/deploy-docker-compose.yml up -d --force-recreate