手动部署太累了
前面我们把各种服务都部署到了雨云云服务器,但每次改代码都要手动 SSH 上去拉代码、装依赖、重启,既慢又容易漏步骤。CI/CD 就是把这套流程自动化:你只要把代码 push 到仓库,流水线自动帮你构建、传文件、重启服务。本文用最普及的 GitHub Actions 演示,把代码一键推上雨云。
一、准备与购买
你需要一台雨云云服务器跑服务(前面任何一篇的部署方式都行),以及托管代码的 GitHub 仓库。服务器建议 2 核 2G 起步。购买走 雨云专属入口 jiyueip.com/link/5617 填优惠码 admin01 五折;国内节点对外提供网页服务要先备案。
二、配置部署密钥
在服务器上生成一对 SSH 密钥,把公钥加进 ~/.ssh/authorized_keys,私钥放到 GitHub 仓库的 Secrets(Settings → Secrets → Actions),变量名比如 DEPLOY_KEY。GitHub Actions 用私钥连服务器就免密了。
三、写工作流文件
在仓库 .github/workflows/deploy.yml 写入:
name: deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: 部署到雨云
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USER }}
key: ${{ secrets.DEPLOY_KEY }}
script: |
cd /home/ubuntu/myapp
git pull
source venv/bin/activate
pip install -r requirements.txt
sudo systemctl restart myapi把服务器 IP、用户名也存成 Secrets(HOST、USER)。以后 push 到 main 分支,Actions 自动连上雨云机器执行拉代码、装依赖、重启。
四、进阶:先构建再上传
前端项目可以先在 runner 里 npm build,再用 scp 把 dist 传上去;或把构建产物打包,SSH 进去解压覆盖。复杂发布可以再加“测试通过才部署”的门槛,避免坏代码上线。
五、回滚思路
自动化部署也要能退。简单做法:部署前在服务器 git stash 或打 tag,出问题 git checkout 上一个 tag、重启即可;更稳的用蓝绿/多机切换。关键是每次发布都有可回退的版本记录。
合规使用提醒
CI/CD 流水线仅用于你合法拥有代码与服务器的自动化部署,提升交付效率。部署密钥须妥善保管,不要写入代码或公开仓库;涉及用户个人信息的应用上线须遵守《个人信息保护法》,做好数据保护与访问审计。






