Github travis ci 自动部署

发布于 2023-05-22 20:06:16 字数 2345 浏览 52 评论 0

1. ci 能干嘛

能在 push 代码的时候执行某些操作,同时可以通过指定一些参数,使得只在特定的 push,或者 commit message 时才会执行 ci job。

2. 配置示例

language: node_js
node_js:
    - 10
cache:
  directories:
    - "node_modules"
install:
    - npm i
script:
    - npm run build
after_success:
    - cd .docz/dist
    - git init
    - git config --global user.name "${U_NAME}"
    - git config --global user.email "${U_EMAIL}"
    - git add -A
    - git commit -m 'deploy'
    - git push --quiet --force "https://${GH_TOKEN}@${GH_REF}" master:${P_BRANCH}
branches:
  except:
    - master
branches:
  only:
  - gh-pages

分别是指定语言,指定 node 版本,指定缓存目录等,同时在 after_success 时,通过命令实现向某个特定 URL 和分支 push 代码。

  • GH_TOKEN:在 github 上 生成的 token,我理解是只有携带该 token,travis 才能拥有权限执行 push 的操作(不确定新版本的 travis 是否还需要这样操作,好像可以直接操作 github)。
  • GH_REF:类似 github.com/[username]/[repository].git 的地址,无需 https 协议前缀
  • P_BRANCH:目标分支。

3. 遇到的问题

3.1 travis.org 与 travis.com 的区别

资料,即原本 travis-ci.com 用于私人付费项目,travis-ci.org 用于公共免费项目。但18年5月之后都是推荐使用travis-ci.com. 最近在部署 react-story-book 的时候,发现 travis-ci.com 加载不到我的react-story-book仓库,而 travis-ci.org 可以,因此又使用了travis-ci.org

3.2 报错 GitHub Pages branch not include ...

branches相关配置资料,即默认 gh-pages 分支不会执行 ci job,除非手动添加到白名单。

branches:
  only:
  - gh-pages

4. 参考资料

VuePress + Travis CI + Github Pages 自动线上生成文档

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

朱染

暂无简介

0 文章
0 评论
22 人气
更多

推荐作者

金兰素衣

文章 0 评论 0

ゃ人海孤独症

文章 0 评论 0

一枫情书

文章 0 评论 0

清晰传感

文章 0 评论 0

mb_XvqQsWhl

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文