Github Deployment 是Github提供的一项功能,它可以帮助开发者将代码部署到云端,如 Heroku、AWS 等。使用 Github Deployment,可以方便快捷地将代码部署到云端,为开发者节省大量时间和精力。
在 Github 中,我们可以使用 Github Actions 来实现自动化部署。这个功能可以在我们推送代码到 Github 仓库之后,自动将代码部署到指定的服务器或者云端平台。部署过程中还可以执行一些命令或者脚本,比如安装依赖、打包等。
下面是一个使用 Github Actions 实现自动化部署的示例:
- 首先需要在 Github 上创建一个仓库,并将本地代码推送到 Github 仓库中。
在 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 来发布代码。
- 在服务器上配置 SSH 公钥和密钥。我们需要将服务器的 SSH 公钥添加到 Github 仓库的 Secrets 中,并将私钥拷贝到服务器上。密钥的作用是用于验证你的部署请求。
- 在 Github 仓库的 Settings 中,添加 Secrets,这些 Secrets 包括 ssh private key、服务器地址、服务器端口号、服务器用户名等。
- 保存并推送代码到 Github 仓库中。此时 Github Actions 应该已经开始执行工作流了,我们可以在工作流详情页面查看每个步骤的执行情况。
这是一个简单的示例,具体的部署流程还需要根据个人项目的需求进行调整。总体来说,使用 Github Deployment 配合 Github Actions 达成自动化部署,可以实现对项目代码的快速部署和管理。