github私有仓库通过action部署hexo到公开仓库

devtools/2024/11/18 2:38:27/

githubactionhexo_1">github私有仓库通过action部署hexo到公开仓库

有一段时间一直将博客md文件直接放到公开仓库然后通过工作流action创建一个gh-page分支,来实现部署

但是这样做有一个问题,如果你的源文件,或者配置文件中有涉及变量,或者密钥key,那么就会泄露,严重的可能导致私库被暴露

最近发现,原来私有仓库也可以使用action,为了安全起见,故此将源文件搬迁到私有仓库,通过私有仓库action构建,然后push到公开仓库中

记录以下过程:

以下是公开仓库xxx-github.io修改之前的action 工作流文件
说明:xxx.github.io作为仓库名称(xxx是你的github用户名),可以直接使用github作为域名访问,如果你有域名且会自定义域名,可以其他写其他仓库名

.github/workflows/page.yml
name: Build Pageson:push:branches:- main # hexo源文件所在分支jobs:pages:runs-on: ubuntu-latestpermissions:contents: writesteps:- uses: actions/checkout@v2- name: Use Node.js 16.xuses: actions/setup-node@v2with:node-version: "16"- name: Cache NPM dependenciesuses: actions/cache@v2with:path: node_moduleskey: ${{ runner.OS }}-npm-cacherestore-keys: |${{ runner.OS }}-npm-cache- name: Install Dependenciesrun: npm install- name: Buildrun: npm run build- name: Deployuses: peaceiris/actions-gh-pages@v3with:github_token: ${{ secrets.GITHUB_TOKEN }}publish_dir: ./public

迁移步骤

hexo_58">1. 创建私有仓库,此处用hexo作为案例
hexo_60">2. 在hexo仓库中创建工作流文件
.github/workflows/pageAndPush.yml
name: hexo page build and pushon:push:branches:- main # hexo仓库存放源文件(md)的分支jobs:build:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v2with:ref: main- name: Install dependenciesrun: |npm install -g hexo-cli # 给虚拟机装上hexo运行环境npm install             # 安装依赖- name: Generate Hexo siterun: |hexo cleanhexo generate- name: Deploy to public repouses: peaceiris/actions-gh-pages@v3with:personal_token: ${{ secrets.GITHUB_TOKEN }} # Personal access token,直接代替external_repository: yourName/yourRepo  # 发布的仓库地址 格式:github名称/需要发布的仓库(如:xxx.github.io)PUBLISH_BRANCH: gh-page #仓库的分支PUBLISH_DIR: ./public
githubgapesghpage_98">3.在公开仓库中setttings/github-gapes选择gh-page分支作为网站

在这里插入图片描述

hexo仓库中的结构如下

https://<a class=github.com/yuzhi-jiang/imgbed/raw/main/Qexo/24/7/image_4527b91be6f3f0cac915fc91ff0c5573.png" />

公开仓库生成的文件目录如下:

在这里插入图片描述


http://www.ppmy.cn/devtools/104912.html

相关文章

【Python报错已解决】“ModuleNotFoundError: No module named ‘mne‘”

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 引言&#xff1a;一、问题描述1.1 报错示例&#xff1a;当我们尝试导入MNE-Python库时&#xff0c;可能会看到以下错误…

国密起步3:GmSSL3使用SM3(哈希)

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码在othertest目录。 目录 …

Vue.js 样式绑定

Vue.js 样式绑定 Vue.js 是一种流行的前端框架&#xff0c;它提供了一种简洁而强大的方式来绑定样式到元素上。样式绑定允许开发者根据组件的状态动态地改变元素的样式。在 Vue 中&#xff0c;样式绑定可以通过多种方式实现&#xff0c;包括类绑定、内联样式绑定和计算属性样式…

C# 编译程序引用C++DLL托管动态链接库实例

构建 C# 程序引用CDLL托管动态链接库 前言1、统一框架版本2、统一编译平台3、C 托管动态链接库的优点3.1、C 托管动态链接库引用方便简单3.2、C 托管动态链接库加快了程序构建和重复利用3.3、C 托管动态链接库源代码更加安全 4、构建与 C# 程序进行互操作的C.DLL动态链接库的三…

SAM 2: The next generation of Meta Segment Anything Model for videos and images

https://ai.meta.com/blog/segment-anything-2/ https://github.com/facebookresearch/segment-anything-2 https://zhuanlan.zhihu.com/p/712068482

比特币牛市将至背后

作者&#xff1a;Arthur Hayes 编译&#xff1a;Liam 「此处所表达的任何观点均为作者个人意见&#xff0c;不应作为投资决策依据&#xff0c;也不应被视为参与投资交易的推荐或建议。」 我打破常规&#xff0c;前往南半球滑雪两周&#xff0c;为北半球的暑假画上圆满的句号。我…

贵金属与能源市场波动加剧:美联储降息预期成焦点

银价回落&#xff0c;市场静待通胀数据指引 周三&#xff0c;银价在欧盘时段显著回落&#xff0c;主要受到美元指数收复部分失地的影响。尽管银价近期触及两个月高点30.19美元&#xff0c;但围绕美联储政策不确定性和需求疲弱的担忧限制了其上涨动力。市场正密切关注周五即将公…

解决Springboot项目Maven下载依赖速度慢的问题

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…