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:
2026-07-10 18:18:57 +07:00
parent 383077e1e6
commit bc500c8716
3 changed files with 28 additions and 4 deletions
+4 -2
View File
@@ -1,5 +1,7 @@
# Только для dev-remote (docker-compose.dev-remote.yml) — скопировать в .env
# прямо на dev VPS (в директорию, где лежит compose-файл). Прод
# УСТАРЕЛО КАК ИНСТРУКЦИЯ: .env на dev VPS теперь собирает сам deploy.yml
# (job deploy-dev, vars.DEV_BOT_USERNAME) — руками копировать не нужно.
#
# Только для dev-remote (docker-compose.dev-remote.yml). Прод
# (docker-compose.yml) секретов не требует — все URL/домены захардкожены
# прямо в нём (там нет ни одного пароля/токена, только публичные адреса).
#
+12 -1
View File
@@ -38,16 +38,25 @@ jobs:
target: "/root/netrunner-frontend-dev"
strip_components: 0
- name: Remote deploy via SSH
- name: Write .env and deploy via SSH
uses: appleboy/ssh-action@v1
with:
host: ${{ vars.DEV_VPS_IP }}
username: root
key: ${{ secrets.DEV_SSH_PRIVATE_KEY }}
envs: "BOT_USERNAME"
script: |
set -e
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 "${{ secrets.GHCR_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
@@ -57,6 +66,8 @@ jobs:
docker image prune -f
echo "✅ Dev synchronized."
env:
BOT_USERNAME: ${{ vars.DEV_BOT_USERNAME }}
deploy-prod:
name: Pull & restart on Prod VPS
+12 -1
View File
@@ -31,16 +31,25 @@ jobs:
target: "/root/netrunner-frontend-dev"
strip_components: 0
- name: Remote deploy via SSH
- name: Write .env and deploy via SSH
uses: appleboy/ssh-action@v1
with:
host: ${{ vars.DEV_VPS_IP }}
username: root
key: ${{ secrets.DEV_SSH_PRIVATE_KEY }}
envs: "BOT_USERNAME"
script: |
set -e
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 "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin
@@ -50,6 +59,8 @@ jobs:
docker image prune -f
echo "✅ Dev synchronized."
env:
BOT_USERNAME: ${{ vars.DEV_BOT_USERNAME }}
deploy-prod:
name: Pull & restart on Prod VPS