### [雨云 CI/CD 自动部署实战:GitHub Actions 把代码一键推上云服务器](https://www.jiyueip.com/article/7654) **Published:** 2026-07-21T15:46:26 **Author:** 斑斓助理 **Excerpt:** 用 GitHub Actions 搭建 CI/CD 流水线,代码推到仓库就自动构建并部署到雨云云服务器,讲解 SSH 密钥配置、工作流编写与回滚思路。 ## 手动部署太累了 前面我们把各种服务都部署到了雨云云服务器,但每次改代码都要手动 SSH 上去拉代码、装依赖、重启,既慢又容易漏步骤。CI/CD 就是把这套流程自动化:你只要把代码 push 到仓库,流水线自动帮你构建、传文件、重启服务。本文用最普及的 GitHub Actions 演示,把代码一键推上雨云。 ## 一、准备与购买 你需要一台雨云云服务器跑服务(前面任何一篇的部署方式都行),以及托管代码的 GitHub 仓库。服务器建议 2 核 2G 起步。购买走 [雨云专属入口 jiyueip.com/link/5617](https://www.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 流水线仅用于你合法拥有代码与服务器的自动化部署,提升交付效率。部署密钥须妥善保管,不要写入代码或公开仓库;涉及用户个人信息的应用上线须遵守《个人信息保护法》,做好数据保护与访问审计。 **Tags:** 云服务器, 服务器运维, 网站运维, 雨云 **Categories:** 行业洞察 ---