Github Deployment 是Github提供的一项功能,它可以帮助开发者将代码部署到云端,如 Heroku、AWS 等。使用 Github Deployment,可以方便快捷地将代码部署到云端,为开发者节省大量时间和精力。

在 Github 中,我们可以使用 Github Actions 来实现自动化部署。这个功能可以在我们推送代码到 Github 仓库之后,自动将代码部署到指定的服务器或者云端平台。部署过程中还可以执行一些命令或者脚本,比如安装依赖、打包等。

下面是一个使用 Github Actions 实现自动化部署的示例:

  1. 首先需要在 Github 上创建一个仓库,并将本地代码推送到 Github 仓库中。
  2. 在 Github 仓库中,创建一个 .github/workflows/deploy.yml 文件,这个文件用于配置 Github Actions。示例代码如下所示:

    name: Deploy
    on:
      push:
        branches:
          - main
    jobs:
      deploy:
        runs-on: ubuntu-latest
        steps:
        - name: Checkout
          uses: actions/checkout@v2
        - name: Setup Node.js
          uses: actions/setup-node@v2
          with:
            node-version: '14.x'
        - name: Install Dependencies
          run: npm install
        - name: Build
          run: npm run build
        - name: Deploy
          uses: easingthemes/ssh-deploy@v2.0.8
          env:
            SSH_PRIVATE_KEY: ${{ secrets.SERVER_SSH_KEY }}
            ARGS: "-rltgoDzvO --delete"
          with:
            server: ${{ secrets.SERVER }}
            port: ${{ secrets.SERVER_PORT }}
            username: ${{ secrets.SERVER_USERNAME }}
            local: './build/'
            remote: ${{ secrets.SERVER_REMOTE_DIRECTORY }}

    上述代码中,我们首先配置了一个工作流,这个工作流会在我们推送代码到 main 分支时触发。接着配置了一个作业 deploy,这个作业会在 Ubuntu 系统上运行,并且包含了以下几个步骤:检出代码、安装依赖、构建、发布。需要注意的是,这个示例使用了 easingthemes/ssh-deploy 这个第三方 Action 来发布代码。

  3. 在服务器上配置 SSH 公钥和密钥。我们需要将服务器的 SSH 公钥添加到 Github 仓库的 Secrets 中,并将私钥拷贝到服务器上。密钥的作用是用于验证你的部署请求。
  4. 在 Github 仓库的 Settings 中,添加 Secrets,这些 Secrets 包括 ssh private key、服务器地址、服务器端口号、服务器用户名等。
  5. 保存并推送代码到 Github 仓库中。此时 Github Actions 应该已经开始执行工作流了,我们可以在工作流详情页面查看每个步骤的执行情况。

这是一个简单的示例,具体的部署流程还需要根据个人项目的需求进行调整。总体来说,使用 Github Deployment 配合 Github Actions 达成自动化部署,可以实现对项目代码的快速部署和管理。

发表评论