Gitee 如何自动部署 Pages?还是用 GitHub Actions!
2021/12/21 13:19:49
本文主要是介绍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
这篇关于Gitee 如何自动部署 Pages?还是用 GitHub Actions!的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享