Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用Hexo设置Gitee自动部署时需要特别配置Hexo,建议写进这边的文档里面 #34

Closed
No5972 opened this issue Feb 8, 2021 · 3 comments
Labels
documentation Improvements or additions to documentation

Comments

@No5972
Copy link

No5972 commented Feb 8, 2021

参考Issue:#4
参考文章:Hexo Gitee Pages 自动部署站点_wujiuqier的博客-CSDN博客

我们按照这个仓库的文档往Hexo站点的source目录添加.github\workflows\sync.yml这个文件,并在这个文件里面配置要使用的Gitee站点仓库和用户名。

name: Sync

on:
  push:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Build Gitee Pages
        uses: yanglbme/gitee-pages-action@main
        with:
          # 注意替换为你的 Gitee 用户名
          gitee-username: 改成你的Gitee用户名
          # 注意在 Settings->Secrets 配置 GITEE_PASSWORD
          gitee-password: ${{ secrets.GITEE_PASSWORD }}
          # 注意替换为你的 Gitee 仓库,仓库名严格区分大小写,请准确填写,否则会出错
          gitee-repo: 改成你的Gitee仓库(用户名斜杠仓库名)
          # 要部署的分支,默认是 master,若是其他分支,则需要指定(指定的分支必须存在)
          branch: master

但是一个比较严重的问题是鄙人要让Github这边部署站点的仓库更新时触发这个动作,鄙人用的是Hexo,如果鄙人在source目录配置了.github目录时使用Hexo的generate命令是不会向Github提交这个动作的配置的。国内也没有一个比较好的解决方案,只好去查Hexo的文档。

经过查阅Hexo文档发现,Hexo默认会忽略隐藏文件和文件夹(包括名称以下划线和 .开头的文件和文件夹,Hexo的_posts_data等目录除外)。因此需要在后台仓库的_config.yml文件添加这样的配置才能把.github的目录也给带进来。可能已经预留了include属性,建议先搜索这个属性,然后直接往这里面添加。

include: 
  - ".github/**/*"

但是这样即使配置了添加这些文件,他默认也会把这个源文件也给渲染,所以我们还需要设置忽略这个文件的渲染。继续在_config.yml文件查找skip_render属性,添加这个文件名。

skip_render: 
  - ".github/**/*"

还有一处也需要修改,往远程仓库部署时要设置不能跳过隐藏的文件,因为Git Bash是按Linux设计的,默认会将.开头的文件和文件夹视为隐藏文件。所以要继续在_config.yml文件查找deploy属性,设置里面ignore_hiddenfalse

deploy:
  type: git
  ignore_hidden: false # 添加这个属性值为false
  repo: 
    gitee: [email protected]:你的Gitee仓库.git,要使用的分支名
    github: [email protected]:你的Github仓库.git,要使用的分支名
    # 可以先提交Gitee然后再提交Github,也就是把这个Gitee的地址放在前面。这样保证Gitee的站点内容能在Github开始动作之前完成提交。

注意Github的部署仓库后台的Settings里面也要按照最上面那个仓库说明中那样配置Secrets(GITEE_RSA_PRIVATE_KEYGITEE_PASSWORD的两个密钥。其中:GITEE_RSA_PRIVATE_KEY存放id_rsa私钥;GITEE_PASSWORD存放Gitee帐号的密码),这一步不要忘记了。

这样设置之后就可以在Github完成部署仓库提交之后通过配置的动作自动使Gitee也部署站点。

@yanglbme yanglbme added the documentation Improvements or additions to documentation label Feb 9, 2021
yanglbme added a commit that referenced this issue Feb 9, 2021
yanglbme added a commit that referenced this issue Feb 9, 2021
@No5972 No5972 closed this as completed Feb 9, 2021
@SiMaLaoShi
Copy link

SiMaLaoShi commented Dec 23, 2021

好像不会触发,已经同步到gitee过去了,只能收到更新一下博客才会同步更新

@MuYanustc
Copy link

还有用嘛,我现在根本不触发action了

@yanglbme
Copy link
Owner

yanglbme commented Feb 1, 2022

还有用嘛,我现在根本不触发action了

正常的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

4 participants