返回

Github Actions一键部署,手把手教你玩转Pages!

开发工具

利用 Github Actions 简化网站部署

在当今瞬息万变的数字世界中,网站的快速且高效部署至关重要。Github Actions 提供了一个强有力的平台,使开发人员能够自动化和简化工作流程,包括网站部署。这篇文章将深入探究如何使用 Github Actions 部署网页,涵盖从静态网站到动态网站、缓存优化和多分支部署等广泛主题。

静态网站部署

部署静态网站是使用 Github Actions 最直接的方式。只需创建名为 "deploy-pages" 的工作流文件,其中包含以下内容:

name: Deploy Pages
on:
  push:
    branches:
      - main
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '16'
      - run: npm ci
      - run: npm run build
      - uses: JamesIves/github-pages-deploy-action@4.1.6
        with:
          ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
          BRANCH: gh-pages
          FOLDER: out

动态网站部署

对于动态网站,部署流程略有不同。工作流文件应包含以下步骤:

name: Deploy Pages
on:
  push:
    branches:
      - main
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '16'
      - run: npm ci
      - run: npm run build
      - uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./out

缓存优化

缓存优化可以显著提升网站的加载速度。为此,您需要在工作流文件中添加以下步骤:

- uses: actions/cache@v3
  with:
    path: node_modules
    key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }}

多分支部署

若要针对不同的分支部署不同的版本,请使用以下工作流文件:

name: Deploy Pages
on:
  push:
    branches:
      - main
      - development
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
        with:
          node-version: '16'
      - run: npm ci
      - run: npm run build
      - uses: JamesIves/github-pages-deploy-action@4.1.6
        with:
          ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
          BRANCH: ${{ github.ref }}
          FOLDER: out

结论

通过充分利用 Github Actions,您可以轻松部署和管理静态和动态网站。本文概述的方法涵盖了各种情况,从基本的静态网站部署到高级缓存优化和多分支部署。掌握这些技术将使您能够快速、高效地交付高质量的网站,同时充分利用 Github 的强大功能。

常见问题解答

  • 如何使用 Github Actions 部署 WordPress 网站?

答:虽然 Github Actions 主要用于部署静态和动态网站,但也有第三方操作可以帮助您部署 WordPress 网站。例如,您可以使用 "WordPress-Deploy" 操作。

  • GitHub Pages 和 Github Actions 之间有什么区别?

答:GitHub Pages 是一个托管平台,可用于部署静态网站。Github Actions 是一个自动化平台,可用于执行各种任务,包括网站部署。

  • 如何在 Github Actions 中设置自定义域名?

答:要使用 Github Pages,您需要为自定义域名创建一个 CNAME 记录。在 Github Pages 设置中配置域名。

  • 我的网站在部署后出现 404 错误,该怎么办?

答:首先检查工作流文件是否有任何错误。确保您使用正确的路径和分支。如果您仍然遇到问题,请检查 Github Pages 的设置。

  • Github Actions 是否支持多环境部署?

答:是的,Github Actions 支持使用分支或标签的多环境部署。您可以在工作流文件中使用不同的环境变量来配置不同的环境。