前提条件:
- 必须使用一个public的项目, 然后登陆https://travis-ci.org/ 进行关联.
- 已存在一个hexo的可以跑起来的项目
在你的hexo源码项目, 取出master分支中 添加配置文件.travis.yml,并推送到acc8226.github.io
项目中.
配置GH_TOKEN
在github添加Access Token,在右上角账号的settings->Personal access tokens.点击generate new token来生成新token
回到Travis官网,在设置中填入刚复制的token,取名为GH_TOKEN
,这个名字需要写到下面的配置文件中.
配置GH_REF
这个家伙写在配置文件的env中
配置
install: - npm install script: - hexo g after_script: - cd ./public - git init - git config user.name "Travis-CI" - git config user.email "Travis-CI@feipig.fun" - git add . - git commit -m "Update docs with TRAVIS-CI." - git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:master # safelist branches: only: - master language: node_js node_js: stable git: depth: 1 env: global: # 使用https, 若使用ssh会出错 - GH_REF: github.com/acc8226/acc8226.github.io.git
要使用https协议的仓库地址,使用ssh仓库地址会失败。
配置完成后推送到仓库中,我们就能看到网站https://acc8226.github.io/ 中在部署了。
转用 coding Pages 服务
由于 github io 服务访问慢, 所以这里选择 coding Pages 服务
在 Coding 的”个人设置”页面中找到访问令牌,新建一个新的访问令牌,这里我们选第一个权限即可,因为我们只需要为 Travis 提供基本的读写权限,这样我们会生成一个 Token,这里注意保存 Token,因为它在这里只显示这一次,我们将 Token 填写到
Travis CI 的后台. 取名为CODING_TOKEN
coding利用令牌访问代码仓库
参加帮助文档
https://help.coding.net/docs/member/tokens.html
在设置 Scope 权限选项中勾选 project:depot 后,可以用于访问代码仓库。
git clone https://testuser:90ed7a169febb12d17e14aa5531827476f6b3a4e@test.coding.net/test/testRepo.git
由此可知需要额外配置
env: global: # Coding Pages - USER_NAME: aleevz - CODING_REF: git.dev.tencent.com/aleevz/aleevz.coding.me.git
解决时区不统一的问题
before_install: - export TZ='Asia/Shanghai' # 解决时区不统一的问题
代码构建后传到coding的.travis.yml
before_install: - export TZ='Asia/Shanghai' # 解决时区不统一的问题 install: - npm install script: - hexo g after_script: - cd ./public - git init - git config user.name "likai-Travis" - git config user.email "likai@feipig.fun" - git add . - git commit -m "Update with TRAVIS-CI." #- git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:master - git push --force --quiet "https://${USER_NAME}:${CODING_TOKEN}@${CODING_REF}" master:master # safelist branches: only: - master language: node_js node_js: stable git: depth: 1 env: global: # 使用https, 若使用ssh会出错 # - GH_REF: github.com/acc8226/acc8226.github.io.git # Coding Pages, 在这里不使用githubio, 是因为这个访问的速度比 github 快 # git clone https://testuser:90ed7a169febb12d17e14aa5531827476f6b3a4e@test.coding.net/test/testRepo.git # 1d87fd91b6c6e01ed00422267a120a7775fdef71 - USER_NAME: fhjWqJkjxt - CODING_REF: e.coding.net/aleevz/aleevz.coding.me.git
参考
travis-ci 官网
https://blog.csdn.net/qq_36759224/article/details/100879609
基于Travis CI实现 Hexo 在 Github 和 Coding 的同步部署