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
|
||||
# прямо на 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/домены захардкожены
|
||||
# прямо в нём (там нет ни одного пароля/токена, только публичные адреса).
|
||||
#
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user