使用travis-ci自动部署github上的项目
travis-ci是什么?
一个使用yaml格式配置用于持续集成完成自动化测试部署的开源项目
官网:https://travis-ci.org/
使用travis-ci集成vue.js项目
首先,您需要一个github账号 and 一个vue.js项目~ 没有的话试试这个啊metools
1. 登录Github并拥有一个项目
登录github 然后Star,Fork metools
当然可以先去看看这个项目是啥..http://tools.yimo.link/
2. 前往travis-ci官网
使用Github账号登录
3. 登录成功回到用户中心
默认会同步一部分仓库,如果太多的话需要点击Sync account进行同步
4. 开启对 metools 项目的集成并进入设置页面
如下图所示,根据需要配置构建信息
添加github的Token到环境变量中,用户名,邮箱也可添加进去,这样配置文件中就可以使用了
生成Token见步骤5.注意:配置私密的环境变量时一定要加密,因为会显示在日志中且能够被他人看到
根据步骤6的配置,还需要添加一些环境变量使起更方便(地址别填错了)
图中配置依次为:
GH_REF:仓库地址GH_TOKEN:生成的令牌P_BRANCH:推送的pages分支 //这里填的时候一定要注意,一般来讲就是 gh-pages 。别手抖写个master。血淋淋的教训~U_EMAIL:邮箱U_NAME:名称
5. Github生成访问令牌 (即添加授权)
访问令牌的作用就是授权仓库操作权限 https://github.com/settings/tokens
Github>settings>Personal access tokens> Generate new token > Generate token> Copy Token
6. .travis.yml 文件的简单配置
.travis.yml文件的作用就是在代码提交的时候travis-ci会根据该配置文件执行配置的任务
在项目根目录中创建(或修改).travis.yml文件,其中${环境变量}为环境变量在travis中配置即可
language: node_js
# nodejs版本
node_js:
- '6'
# Travis-CI Caching
cache:
directories:
- node_modules
# S: Build Lifecycle
install:
- npm install
before_script:
# 无其他依赖项所以执行npm run build 构建就行了
script:
- npm run build
after_script:
- cd ./dist
- git init
- git config user.name "${U_NAME}"
- git config user.email "${U_EMAIL}"
- git add .
- git commit -m "Update tools"
- git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:${P_BRANCH}
# E: Build LifeCycle
#指定分支,只有指定的分支提交时才会运行脚本
branches:
only:
- master
env:
global:
# 我将其添加到了travis-ci的环境变量中
#- GH_REF: github.com/yimogit/metools.git
7. 自动构建项目
修改完成,并推送到github后,就可以在travis-ci.org中看到项目开始构建了(以后每次推送代码到仓库后都将会自动构建项目)

构建完成日志

构建完成。在设置中可以看到默认已经将gh-pages分支部署到pages,访问https://用户名.github.io/metools/即可预览效果。

若构建失败,可以通过travis-ci中项目面板右上角的 Restart build 重新构建

使用travis-ci自动部署github上的项目的更多相关文章
- 使用Travis CI自动部署Hexo到GitHub
原文链接(转载请注明出处):使用Travis CI自动部署Hexo到GitHub 前言 使用 hexo + gitPages 搭建个人博客的人都知道,每当要发表一篇博文,第一步得手动使用 hexo g ...
- 使用Travis CI自动部署博客到github pages和coding pages
每次换系统或换电脑之后重新部署博客总是很苦恼?想像jekyll那样,一次性部署完成后,以后本地不用安装环境直接 git push 就能生成博客?那推荐你应该使用使用 Travis CI了. 这篇文章我 ...
- 使用Travis CI自动部署Hexo博客
自从使用GitHub Pages和Hexo来发布博客之后,不得不说方便了许多,只需要几个简单的命令博客就发布了.但在不断的使用中发现每次的发布操作也挺耗时的. 我一般的操作是将平时整理好的md文件放到 ...
- 使用 Travis CI 自动部署 Hexo 站点至 GitHub Pages
Hexo 与 GitHub Pages 安装配置请参考:Hexo 与 GitHub Pages 本文源码与生成的静态文件在同一项目下,源码在 source 分支,静态文件在 master 分支 新增 ...
- jenkins之自动化部署github上maven项目
部署流程:将代码从github上拉取下来,使用maven打包,将打包后的jar通过ssh发送到服务器上,然后构建docker镜像,运行容器. 1.安装插件 如果是第一次使用jenkins,需要检查并确 ...
- Gitlab CI 自动部署 asp.net core web api 到Docker容器
为什么要写这个? 在一个系统长大的过程中会经历不断重构升级来满足商业的需求,而一个严谨的商业系统需要高效.稳定.可扩展,有时候还不得不考虑成本的问题.我希望能找到比较完整的开源解决方案来解决持续集成. ...
- 如何从eclipse中下载并导入Github上的项目
eclipse导入项目,方法就是点击File ->Import,选择Existing Projects into Workspace 但前提是,你导入的这个项目原本就是用eclipse的构建的, ...
- 在GitHub上管理项目
在GitHub上管理项目 新建repository 本地目录下,在命令行里新建一个代码仓库(repository) 里面只有一个README.md 命令如下: touch README.md git ...
- 【转载】在GitHub上管理项目
在GitHub上管理项目 新建repository 本地目录下,在命令行里新建一个代码仓库(repository) 里面只有一个README.md 命令如下: touch README.md git ...
随机推荐
- Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'URIType' of bean class [com.alibaba.citrus.service.uribroker.uri.GenericURIBroker]
linux中的JDK为JDK8,tomcat为tomcat8 加入dubbo.war包 启动报错! Caused by: org.springframework.beans.factory.BeanC ...
- Vue.js组件之间的通信
导语:组件之间的关系不外乎两种, 父子组件和非父子组件,本文将对两类组件之间的通信方式进行详细阐述. 父子组件间的通信 通信方式1(单向绑定): Props down, Events up (建议使用 ...
- 单例模式与静态变量在PHP中
在PHP中,没有普遍意义上的静态变量.与Java.C++不同,PHP中的静态变量的存活周期仅仅是每次PHP的会话周期,所以注定了不会有Java或者C++那种静态变量. 1. 静态变量在PHP中 在PH ...
- CSS常用Hack集合(adding)
1> IE9 and IE10 @media screen and (min-width: 0\0) { .p-form input.p-value[type="checkbox&qu ...
- Python os模块--路径、文件、系统命令等操作
os模块包含普遍的操作系统功能. 注意:函数参数path是文件或目录的路径,filename是文件的路径,dirname是目录的路径,路径可以是相对路径,也可绝对路径 常见或重要的函数为加粗字体 os ...
- 【翻译Autofac的帮助文档】1.入门指南
[写在前面]尝试做完一件工作之外自我觉得有意义的一件事,那就从翻译Autofac的帮助文档吧. 入门指南 将Autofac集成你的应用程序的步骤通常很简单,一般是: 时刻以IOC(控制反转)的思想来规 ...
- 一些java方面面试题,没事做做看看(带答案)
1. Switch能否用string做参数? a.在?Java? <http://lib.csdn.net/base/java>7 之前, switch 只能支持byte,short,ch ...
- mysql in 和 not in 语句用法
1.mysql in语句 select * from tb_name where id in (10,12,15,16);2.mysql not in 语句 select * from tb_name ...
- DDD理论学习系列(8)-- 应用服务&领域服务
DDD理论学习系列--案例及目录 1. 引言 单从字面理解,不管是领域服务还是应用服务,都是服务.而什么是服务?从SOA到微服务,它们所描述的服务都是一个宽泛的概念,我们可以理解为服务是行为的抽象.从 ...
- JAVA基础——Arrays工具类十大常用方法
Arrays工具类十大常用方法 原文链接:http://blog.csdn.net/renfufei/article/details/16829457 0. 声明数组 String[] aArray ...





