使用github actions 部署到服务器

原文地址:https://jiangwei.zone/posts/%E4%BD%BF%E7%94%A8github-actions-%E9%83%A8%E7%BD%B2%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8/

  1. 创建 yml 文件
    在.github/workflows 目录下创建一个 yml 文件,文件名可以自己取,比如 deploy.yml。

  2. 配置 yml 文件
    编辑 deploy.yml 文件,内容如下:

    name: Deploy to Server
    
     on:
     push:
     branches: - master # 更改为你的目标分支
     jobs:
     build-and-deploy:
     runs-on: ubuntu-latest
     steps: # 官方 action, 将代码拉取到虚拟机 - name: Checkout
     uses: actions/checkout@v3
    
         # 安装node.js
       - name: Use Node.js
         uses: actions/setup-node@v3
         with:
           node-version: "18.x"
    
       - name: Install Dependencies
         run: |
           npm install
           # 如果是其他语言,比如Python, Ruby等,更改安装命令
    
       - name: Build
         run: |
           npm run build
           # 如果有其他构建步骤,添加到这里
    
       - name: Deploy to Server
         uses: easingthemes/ssh-deploy@main
         env:
           SSH_PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }}
           ARGS: "-avz --delete"
           SOURCE: "./dist/*"
           REMOTE_HOST: ${{ secrets.HOST }}
           REMOTE_PORT: "22"
           REMOTE_USER: "root"
           TARGET: "/www/wwwroot/jiangwei.zone"
    
  3. 配置 secrets
    secrets.PRIVATE_KEY secrets.REMOTE_HOST 需要自己去 github 项目设置中添加,具体操作如下:

    secrets.HOST 为 服务器 ip
    secrets.PRIVATE_KEY 为服务器私钥,需要自己去服务器上生成

生成 ssh 公钥私钥对:


ssh-keygen -t rsa -b 4096
cd ~/.ssh && cat id_rsa.pub >> authorized_keys

如果本就有,记得要将公钥复制到 authorized_keys。

复制私钥到 secrets 时,需要在末尾多添加一个空行,否则会报错。 255。

记得配置服务器文件的权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值