chore(deploy): automate production rollout
This commit is contained in:
+24
-1
@@ -151,7 +151,30 @@ docker logs -f eryao-prod-redis
|
||||
|
||||
## 更新版本
|
||||
|
||||
CI 推送新镜像到 ECR 后,在生产机器执行:
|
||||
当前 CI/CD 会在 `main` 分支构建后自动部署到生产机器:
|
||||
|
||||
- 推送前清空 ECR 仓库旧镜像,只保留新推送的 `latest`。
|
||||
- 通过 `DEPLOY_SSH_KEY` 登录生产机器。
|
||||
- 在生产机器执行 ECR 登录、`docker compose pull`、`docker compose up -d`。
|
||||
- 健康检查通过后清理 7 天前未使用的本地 Docker 镜像。
|
||||
|
||||
Gitea Secrets 需要包含:
|
||||
|
||||
```text
|
||||
AWS_ACCESS_KEY_ID
|
||||
AWS_SECRET_ACCESS_KEY
|
||||
AWS_REGION
|
||||
AWS_ACCOUNT_ID
|
||||
ECR_REPOSITORY
|
||||
DEPLOY_SSH_KEY
|
||||
DEPLOY_HOST
|
||||
DEPLOY_USER
|
||||
```
|
||||
|
||||
`DEPLOY_SSH_KEY` 是已加入生产机器 `ubuntu` 用户 `~/.ssh/authorized_keys` 的部署专用私钥。
|
||||
当前生产机器对应:`DEPLOY_HOST=18.218.38.213`,`DEPLOY_USER=ubuntu`。
|
||||
|
||||
如需手动更新,在生产机器执行:
|
||||
|
||||
```bash
|
||||
cd deploy
|
||||
|
||||
Reference in New Issue
Block a user