乐趣区

关于javascript:Gitee-如何自动部署-Pages还是用-GitHub-Actions

Gitee Pages

在上篇《一篇教你代码同步 GitHub 和 Gitee》中,咱们应用 GitHub Actions 解决了 GitHub 代码主动同步 Gitee 的问题,但咱们的博客仓库代码同步到 Gitee 后,并不能像 GitHub 一样主动部署 Pages,如果不应用付费的 Gitee Pages Pro 服务,那咱们该怎么实现 Gitee 主动部署 Pages 呢?

GitHub Actions

答案是接着应用 GitHub Actions!你可能会想,Gitee 也有 GitHub Actions 服务吗?Gitee 也会像 GitHub 一样检测 .github/workflows/ 目录下的 YAML 文件,而后执行吗?

这当然是不可能的,Gitee 并不反对 GitHub 的这套形式,但咱们为什么肯定要借用 Gitee 的能力呢?咱们在 GitHub Actions 中,模仿登陆 Gitee,点击我的项目的部署按钮,不也是一种实现形式吗?

搜寻 Actions

咱们接下来去找一些适合的 GitHub Actions,咱们能够在 GitHub 的官网市场,或者 awesome actions 仓库,再或者间接在 GitHub 搜寻比方 gitee pages actions 之类的关键词。

最终,咱们决定应用 Gitee Pages Action,查看一下主页的示例代码:

name: Sync

on:
  push:
    branches: [main]
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Sync to Gitee
        uses: wearerequired/git-mirror-action@master
        env:
          # 留神在 Settings->Secrets 配置 GITEE_RSA_PRIVATE_KEY
          SSH_PRIVATE_KEY: ${{secrets.GITEE_RSA_PRIVATE_KEY}}
        with:
          # 留神替换为你的 GitHub 源仓库地址
          source-repo: git@github.com:doocs/leetcode.git
          # 留神替换为你的 Gitee 指标仓库地址
          destination-repo: git@gitee.com:Doocs/leetcode.git

      - name: Build Gitee Pages
        uses: yanglbme/gitee-pages-action@main
        with:
          # 留神替换为你的 Gitee 用户名
          gitee-username: yanglbme
          # 留神在 Settings->Secrets 配置 GITEE_PASSWORD
          gitee-password: ${{secrets.GITEE_PASSWORD}}
          # 留神替换为你的 Gitee 仓库,仓库名严格辨别大小写,请精确填写,否则会出错
          gitee-repo: doocs/leetcode
          # 要部署的分支,默认是 master,若是其余分支,则须要指定(指定的分支必须存在)branch: main

咱们之前曾经实现了 GitHub 代码同步 Gitee,这里咱们间接应用后半局部的主动部署 actions,联合上篇的 YAML 文件代码,最终的批改如下:

name: syncToGitee
on:
  push:
    branches:
      - gh-pages
jobs:
  repo-sync:
    runs-on: ubuntu-latest
    steps:
      - name: Mirror the Github organization repos to Gitee.
        uses: Yikun/hub-mirror-action@master
        with:
          src: 'github/mqyqingfeng'
          dst: 'gitee/mqyqingfeng'
          dst_key: ${{secrets.GITEE_PRIVATE_KEY}}
          dst_token:  ${{secrets.GITEE_TOKEN}}
          static_list: "learn-typescript"
          force_update: true
          debug: true
          
      - name: Build Gitee Pages
        uses: yanglbme/gitee-pages-action@main
        with:
          # 留神替换为你的 Gitee 用户名
          gitee-username: mqyqingfeng
          # 留神在 Settings->Secrets 配置 GITEE_PASSWORD
          gitee-password: ${{secrets.GITEE_PASSWORD}}
          # 留神替换为你的 Gitee 仓库,仓库名严格辨别大小写,请精确填写,否则会出错
          gitee-repo: mqyqingfeng/learn-typescript
          # 要部署的分支,默认是 master,若是其余分支,则须要指定(指定的分支必须存在)branch: gh-pages

留神不要忘了在仓库的设置里增加 Secrets,输出 Gitee 的登陆密码,而后保留名为 GITEE_PASSWORD

YAML 文件语法报错

如果 Actions 运行失败并呈现了这种谬误:

这是因为你的 YAML 语法写的有问题,可能是哪里没有对齐。能够在这个网址校验下你的 YAML 文件,也能够顺便看下阮一峰老师的 YAML 语言教程。

再次运行

批改了代码之后,咱们能够再执行一遍 sh deploy.sh,而后在 GitHub 上查看运行状况:

当运行胜利,咱们再查看 Gitee 的地址,就会发现曾经部署为最新的版本了。

至此,实现了 GitHub 和 Gitee 代码的同步和主动部署。

系列文章

系列文章目录地址:https://github.com/mqyqingfeng/Blog

微信:「mqyqingfeng」,加我进冴羽惟一的读者群。

如果有谬误或者不谨严的中央,请务必给予斧正,非常感激。如果喜爱或者 有所启发,欢送 star,对作者也是一种激励。

退出移动版