04 使用github action完成自动部署 - xiaoxin01/Blog GitHub Wiki

本文介绍如何使用github action来完成项目的自动部署

启用action功能

要使用github的action功能,需要在项目的根目录建立文件夹:

.github/workflows

在后在此目录建立 yaml 文件

自定义部署

部署项目有多种方式,下面介绍直接使用ssh在自己的服务器上构建项目

name: CI

on: [push]

jobs:
  deploy:

    runs-on: ubuntu-latest

    steps:
    - name: build and deploy
      uses: appleboy/ssh-action@master
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USERNAME }}
        key: ${{ secrets.KEY }}
        port: ${{ secrets.PORT }}
        script: ${{ secrets.SCRIPTS }}

上面的变量可以在项目的 settings/secrets 下面建立,避免暴露出来

script可以是提前编写好的部署脚本:

cd ~/deploy && \
    bash deploy.sh

commit之后,就可以在项目的 action 下面查看历史:

1YjYmd.md.png

点击某一次构建,可以查看详细的步骤及输出:

1Yjwff.png

控制部署时机

上述 yaml 文件,指定只要发生 push 动作,就会执行部署。

可以通过如下链接查看更多的控制方式:workflow-syntax-for-github-actions

给项目加个构建图标

当项目启用action以后,可以通过下面的地址得到某个 workflow 的状态图标:

https://github.com/<OWNER>/<REPOSITORY>/workflows/<WORKFLOW_FILE_PATH>/badge.svg

⚠️ **GitHub.com Fallback** ⚠️