教程-如何用travis-ci实现自动化部署前端项目

背景:UI组件库做好了,但是要将UI文档自动发布,之前都是每次提交代码的时候去手动构建后再发布文档,但是这样太麻烦,所以想用travis-ci自动化构建一个VUE UI框架的官方文档。组件库源码地址
https://github.com/ninecat-ui/ninecat-ui

实现的方法

  • 在项目里面建一个docs文件夹,然后commit后再构建文档,然后push到原代码仓库,通过gh-page关联docs文件实现官方文档的预览。

  • 官方文档为另外的项目,以 ninecat-ui.github.io这种主页名命名项目,然后commit后构建文档,再clone项目=》commit项目=》提交项目。

两种方法原理都可行,但是第一种方式会发现在travis-ci第二次提交的时候,git的记录是没有的,所以放弃了第一种,然后用第二种方法实现的,第二种方法有个好处就是不用担心你的操作会影响到原项目,因为没有push操作,所以下面就讲解一下第二种方法实现的步骤。

实现步骤

1.Github 账号关联 TravisCI

用 Github 账号登录https://travis-ci.com/,你的所有 Repo 都会列出来,选择激活你想要 build 的 Repo,这一步基本都是傻瓜操作,很简单,无需赘述。

2.配置环境变量

环境变量有两种,一种是配置在.travis.yml文件里面的,

.travis.yml文件

另一种是配置在travis-ci的后台系统中进行,在setting里的Environment Variables里面。


travis-ci后台配置

第二种方式的环境变量主要是用于第三方系统的权限校验,当然再本次实践中也需要进行配置,配置一个github的token以便后面的提交操作。

按照下面的步骤配置GitHub的token
(1)进入GitHub的个人设置,Settings=> Developer settings=>Personal access tokens=>Generate new token
进行如下勾选就行

Generate new token

(2)进入travis-ci的后台系统中配置环境变量Environment Variables如travis-ci后台配置图所示,新增一个环境变量,然后将GitHub建立的token填入其中。DISPLAY VALUE IN BUILD LOG 选项不要勾选,否则环境变量会在你执行build脚本的时候显示出来。

3.配置脚本构建


# Designated language. https://docs.travis-ci.com/user/languages/javascript-with-nodejs/
language: node_js

# Environment variables
env:
  global:
    - GitHub_REF: github.com/ninecat-ui/ninecat-ui.github.io.git

# Install dependence
install:
  - npm install
  - npm install -g codecov

# Cache the node_modules folder and don't need to download and install all npm packages every time.
cache:
  directories:
    - node_modules
# Specify the node version.
node_js:
  - "11.1.0"
# Perform builds only on the specified branch.  https://docs.travis-ci.com/user/customizing-the-build/#building-specific-branches
branches:
  only:
    - master
# The script to execute.
script:
  - npm test
  - codecov
  - npm run docs:build
  - cd docs
  - git init
  - git add -A
  - git commit -m "docs:update docs"
  - git push --force --quiet "https://${GitHub_TOKEN}@${GitHub_REF}" master:master
# Configure to send notifications when the build fails. https://docs.travis-ci.com/user/notifications
notifications:
  webhooks:
    urls:
      - https://www.travisbuddy.com/
    on_success: never # Successful build does not send mail.
    on_failure: always # Build failure always sends a message.

上面的脚本可以根据官方文档https://docs.travis-ci.com/user/speeding-up-the-build/自行定义和使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,718评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,683评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,207评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,755评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,862评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,050评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,136评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,882评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,330评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,651评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,789评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,477评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,135评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,864评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,099评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,598评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,697评论 2 351