Skip to content

Commit 8cd4bd6

Browse files
committed
配置GitHub Actions自动同步环境变量到systemd
1 parent 93b87ad commit 8cd4bd6

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

.github/workflows/deploy.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,27 @@ jobs:
4444
# 6. 部署到服务器
4545
- name: Deploy to Server
4646
uses: appleboy/[email protected]
47+
env:
48+
APP_DOMAIN: ${{ secrets.APP_DOMAIN }}
49+
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
50+
JWT_SECRET: ${{ secrets.JWT_SECRET }}
51+
REDIS_PASSWORD: ${{ secrets.REDIS_PASSWORD }}
4752
with:
4853
host: ${{ secrets.SERVER_HOST }}
4954
port: ${{ secrets.SERVER_PORT }}
5055
username: ${{ secrets.SERVER_USER }}
5156
key: ${{ secrets.SERVER_SSH_KEY }}
57+
envs: APP_DOMAIN,DB_PASSWORD,JWT_SECRET,REDIS_PASSWORD
5258
script: |
5359
cd /opt/TinyFlow
5460
git pull origin master
5561
62+
# 更新 systemd 配置文件中的环境变量
63+
sudo sed -i "s|Environment=\"app.domain=.*\"|Environment=\"app.domain=$APP_DOMAIN\"|g" /etc/systemd/system/tinyflow.service
64+
sudo sed -i "s|Environment=\"DB_PASSWORD=.*\"|Environment=\"DB_PASSWORD=$DB_PASSWORD\"|g" /etc/systemd/system/tinyflow.service
65+
sudo sed -i "s|Environment=\"JWT_SECRET=.*\"|Environment=\"JWT_SECRET=$JWT_SECRET\"|g" /etc/systemd/system/tinyflow.service
66+
sudo sed -i "s|Environment=\"REDIS_PASSWORD=.*\"|Environment=\"REDIS_PASSWORD=$REDIS_PASSWORD\"|g" /etc/systemd/system/tinyflow.service
67+
5668
# 重新构建前端
5769
cd web
5870
npm ci
@@ -62,7 +74,8 @@ jobs:
6274
cd ..
6375
mvn clean package -DskipTests
6476
65-
# 重启服务(自动加载环境变量)
77+
# 重新加载 systemd 并重启服务
78+
sudo systemctl daemon-reload
6679
systemctl restart tinyflow
6780
6881
echo "✅ 部署完成!"

0 commit comments

Comments
 (0)