CI сам собирает .env на dev VPS (BOT_USERNAME) из repo Variables
Тот же принцип, что и в netrunner-backend/netrunner-data — deploy-dev пишет .env из vars.DEV_BOT_USERNAME перед docker compose up, руками на сервере создавать больше не нужно. Прод по-прежнему без .env — все значения там хардкожены в docker-compose.yml.
This commit is contained in:
+4
-2
@@ -1,5 +1,7 @@
|
|||||||
# Только для dev-remote (docker-compose.dev-remote.yml) — скопировать в .env
|
# УСТАРЕЛО КАК ИНСТРУКЦИЯ: .env на dev VPS теперь собирает сам deploy.yml
|
||||||
# прямо на dev VPS (в директорию, где лежит compose-файл). Прод
|
# (job deploy-dev, vars.DEV_BOT_USERNAME) — руками копировать не нужно.
|
||||||
|
#
|
||||||
|
# Только для dev-remote (docker-compose.dev-remote.yml). Прод
|
||||||
# (docker-compose.yml) секретов не требует — все URL/домены захардкожены
|
# (docker-compose.yml) секретов не требует — все URL/домены захардкожены
|
||||||
# прямо в нём (там нет ни одного пароля/токена, только публичные адреса).
|
# прямо в нём (там нет ни одного пароля/токена, только публичные адреса).
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -38,16 +38,25 @@ jobs:
|
|||||||
target: "/root/netrunner-frontend-dev"
|
target: "/root/netrunner-frontend-dev"
|
||||||
strip_components: 0
|
strip_components: 0
|
||||||
|
|
||||||
- name: Remote deploy via SSH
|
- name: Write .env and deploy via SSH
|
||||||
uses: appleboy/ssh-action@v1
|
uses: appleboy/ssh-action@v1
|
||||||
with:
|
with:
|
||||||
host: ${{ vars.DEV_VPS_IP }}
|
host: ${{ vars.DEV_VPS_IP }}
|
||||||
username: root
|
username: root
|
||||||
key: ${{ secrets.DEV_SSH_PRIVATE_KEY }}
|
key: ${{ secrets.DEV_SSH_PRIVATE_KEY }}
|
||||||
|
envs: "BOT_USERNAME"
|
||||||
script: |
|
script: |
|
||||||
set -e
|
set -e
|
||||||
cd /root/netrunner-frontend-dev
|
cd /root/netrunner-frontend-dev
|
||||||
|
|
||||||
|
# Единственное, что этому compose-файлу нужно из .env — свой dev-бот
|
||||||
|
# (см. BOT_USERNAME:? в docker-compose.dev-remote.yml). Тот же бот,
|
||||||
|
# что и у netrunner-backend dev — vars.DEV_BOT_USERNAME там же.
|
||||||
|
cat > .env <<EOF
|
||||||
|
BOT_USERNAME=${BOT_USERNAME}
|
||||||
|
EOF
|
||||||
|
chmod 600 .env
|
||||||
|
|
||||||
echo "🚀 Deploying landing+proxy:latest to DEV"
|
echo "🚀 Deploying landing+proxy:latest to DEV"
|
||||||
echo "${{ secrets.GHCR_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
|
echo "${{ secrets.GHCR_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
|
||||||
|
|
||||||
@@ -57,6 +66,8 @@ jobs:
|
|||||||
docker image prune -f
|
docker image prune -f
|
||||||
|
|
||||||
echo "✅ Dev synchronized."
|
echo "✅ Dev synchronized."
|
||||||
|
env:
|
||||||
|
BOT_USERNAME: ${{ vars.DEV_BOT_USERNAME }}
|
||||||
|
|
||||||
deploy-prod:
|
deploy-prod:
|
||||||
name: Pull & restart on Prod VPS
|
name: Pull & restart on Prod VPS
|
||||||
|
|||||||
@@ -31,16 +31,25 @@ jobs:
|
|||||||
target: "/root/netrunner-frontend-dev"
|
target: "/root/netrunner-frontend-dev"
|
||||||
strip_components: 0
|
strip_components: 0
|
||||||
|
|
||||||
- name: Remote deploy via SSH
|
- name: Write .env and deploy via SSH
|
||||||
uses: appleboy/ssh-action@v1
|
uses: appleboy/ssh-action@v1
|
||||||
with:
|
with:
|
||||||
host: ${{ vars.DEV_VPS_IP }}
|
host: ${{ vars.DEV_VPS_IP }}
|
||||||
username: root
|
username: root
|
||||||
key: ${{ secrets.DEV_SSH_PRIVATE_KEY }}
|
key: ${{ secrets.DEV_SSH_PRIVATE_KEY }}
|
||||||
|
envs: "BOT_USERNAME"
|
||||||
script: |
|
script: |
|
||||||
set -e
|
set -e
|
||||||
cd /root/netrunner-frontend-dev
|
cd /root/netrunner-frontend-dev
|
||||||
|
|
||||||
|
# Единственное, что этому compose-файлу нужно из .env — свой dev-бот
|
||||||
|
# (см. BOT_USERNAME:? в docker-compose.dev-remote.yml). Тот же бот,
|
||||||
|
# что и у netrunner-backend dev — vars.DEV_BOT_USERNAME там же.
|
||||||
|
cat > .env <<EOF
|
||||||
|
BOT_USERNAME=${BOT_USERNAME}
|
||||||
|
EOF
|
||||||
|
chmod 600 .env
|
||||||
|
|
||||||
echo "🚀 Deploying landing+proxy:latest to DEV"
|
echo "🚀 Deploying landing+proxy:latest to DEV"
|
||||||
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
|
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
|
||||||
|
|
||||||
@@ -50,6 +59,8 @@ jobs:
|
|||||||
docker image prune -f
|
docker image prune -f
|
||||||
|
|
||||||
echo "✅ Dev synchronized."
|
echo "✅ Dev synchronized."
|
||||||
|
env:
|
||||||
|
BOT_USERNAME: ${{ vars.DEV_BOT_USERNAME }}
|
||||||
|
|
||||||
deploy-prod:
|
deploy-prod:
|
||||||
name: Pull & restart on Prod VPS
|
name: Pull & restart on Prod VPS
|
||||||
|
|||||||
Reference in New Issue
Block a user