关于Maven和Travis CI的介绍请移步前辈的博客
使用Maven、Eclipse与travis-ci进行在线build操作详解

在该博客中,前辈已经把Travis CI在线build的目的说的很清楚了,我们也是希望确保自己的程序代码可以在TA的电脑上成功运行。

这是需要作为一个验证,可能程序运行依赖了本地有的环境配置,而用户在使用你的程序,由于他的本地没有配置,因此程序无法运行。如果在线build成功,那么程序则可以在不依赖本地环境下运行。

接下来进行正式的教学总结部分。

教学总结

Travis CI初步

首先上Travis CI网站上获取下相关信息,在这里用GitHub账号登陆,切记一点,这个账号中是包含你要build的仓库的那个账号。

然后可能要经过一些激活啦,授权啦,这些玩意,再之后点击你的头像,应该可以来到这里。

对于我们HIT做软件构造实验的童鞋,你们的实验仓库是private的,在travis-ci.org中是查看不到的,要点击进入https://travis-ci.com/这里去找。然后就能看到了。

build前的准备工作

强烈建议初入Travis的小白去读一读官网上的教学文档,给个链接Travis CI Tutorial。读了这个,本节内容可以跳过了。墙裂建议!!!

本节给那些英文不好的,没有耐心的做一个小小的总结。

在经历了GitHub账号和Travis CI建立联系之后,你需要在你的需要build的项目目录下新建一个.travis.yml文件,创建方式下面会说到,这个文件的内容下面也会讲解。

然后根据本文开篇提到的那位前辈中的博客所讲,你还需要把你的Eclipse项目转成maven project,这点参见他的博客就好了。

再然后,如果你把你更改好的项目,add, commit, push上传到远程仓库,Travis CI就会自动在线build你的最新项目了。如果passed话,恭喜你,成功了。

.travis.yml

首先先创建这个文件。在项目的根目录下,new–file

命名.travis.yml

创建。当然这里可能会发现你的项目目录中看不到这个文件,参见该博客Eclipse项目中显示隐藏的文件

然后,这个文件怎么写呢,常规写法是这样的

language: java
jdk:- oraclejdk8

至于这里面的坑,下面再说,姑且先这么写,指定语言为Java,jdk为jdk8

pom.xml

这个文件,如果你在按照那个前辈的博客做的,把项目转换成maven project的话,你的项目目录中回多出如下东西:

一个target文件夹和一个pom.xml文件。pom.xml这个东西里面已经写了一些配置了。我们要做的,是把我们所依赖的库的包的依赖配置文件,复制到这个配置文件中

拿我们的junit.jar为例。你需要上这个网站上找junit,https://mvnrepository.com/,你找到的可能是这个,注意一下你的junit版本,我用的是第二个。

然后选择相应的版本号,我猜红色的版本号都是测试版本吧。。

然后把出现的配置代码,粘贴到你的pom.xml中,像这样子,注意你的依赖配置代码是要放在<dependencies></dependencies>中的。

如果你是完全按照我说的做的,请把junit配置代码中的某一行写的<scope>test</scope>删除掉,因为这意味着你的junit依赖只作用在了test的代码上,到最后还是会报错,因为src代码找不到你添加的依赖。

把你需要的包的配置代码都搞进去之后,这部分就完成了。

build时候踩的坑

下面就是精彩的环节了,让大家知道我都踩了什么坑!!!

The command “mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V” failed and exited with 1 during

该错误提示出现在build时的job log的最后一行。你在浏览鬼畜一般的job log的时候,会遇到几行红字,大概是说什么东西失败了,然后尝试1 of 3,尝试2 of 3,尝试3 of 3,最后心累尝试不下去了,报错,your build has been stopped之类的,再给出两行标题红字,那么请参考该解决方案The command “mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V” failed and exited with 1 during

大致就是把你的.travis.xml改成下面这样就好了吧

language: javainstall: mvn install

build failure: error: unmappable character for encoding UTF-8

我在这个坑里蹲了大概半个小时。是这样的,我也不知道怎么,大概Travis CI那边build只认UTF-8编码,然后你build的时候,job log出现大量的ERROR,然后GG挂了。这时候你可能只需要把你的Eclipse的编码方式改成UTF-8,然后再add, commit, push一下,自动build就好了!

Eclipse改编码的教程在这里Eclipse更改editor的编码

各位亲,以后都用UTF-8写东西吧!!我本来用GBK写的,后来一转UTF-8,中文注释全**乱码了!!改得我好苦啊ヽ(*。>Д<)o゜

附个成功的图


使用Travis CI进行在线build相关推荐

  1. travis ci_如何使用Travis CI和GitHub进行Web开发工作流程

    travis ci by Vijayabharathi Balasubramanian 通过Vijayabharathi Balasubramanian 如何使用Travis CI和GitHub进行W ...

  2. 使用Travis-CI在线build

    利用Travis-CI 在线build Java工程 什么是CI (Continuous Integration) 持续集成指的是,频繁地(一天多次)将代码集成到主干. 它的好处主要有两个:快速发现错 ...

  3. Travis CI mysql_DevOps工具介绍连载(34)——Travis CI

    原标题:DevOps工具介绍连载(34)--Travis CI Travis CI 持续集成 Travis CI 是在线托管的持续集成服务,绑定Github项目,抓取新的代码自动进行测试构建,甚至自动 ...

  4. 构建指定仓库_使用Travis CI自动构建和部署你的GitBook

    本文,博主将会介绍利用Travis CI持续集成服务自动化构建和部署GitBook. 首先介绍一下TravisCI,下文摘自维基百科-Travis CI Travis CI是在软件开发领域中的一个在线 ...

  5. Travis CI 简介

    什么是Travis CI Travis CI 是目前新兴的开源持续集成服务,它能帮助你在代码变化时自动构建.测试(当然你需求提供测试脚本).部署. 它是一个在线工具,不需要额外部署,支持大部分主流语言 ...

  6. 基于Travis CI实现 Hexo 在 Github 和 Coding 的同步部署

      各位朋友,大家好,我是Payne,欢迎大家关注我的博客,我的博客地址是 https://qinyuanpei.github.io .在曾经的一篇博客:<持续集成在Hexo自动化部署上的实践& ...

  7. travis-ci自动部署_如何使用Travis CI部署(几乎)零恐惧的Cloud Foundry应用

    travis-ci自动部署 by Robin Bobbitt 罗宾·波比(Robin Bobbitt) 如何使用Travis CI部署(几乎)零恐惧的Cloud Foundry应用 (How to d ...

  8. Flutter GitHub Travis CI 搭建

    通过 Travis CI 连接 GitHub 上的 Flutter 项目, 实现持续集成: 代码扫描, 测试, 打包发布 release. Install Android SDK os: linuxl ...

  9. 利用Travis CI 让你的github项目持续构建(Node.js为例)

    Travis CI 是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜.目前大多数的github项目都已经移入到Travis CI的构建队列 ...

  10. Travis CI 一些专用术语介绍

    解释 Travis CI 的最简单方法是,每次提交到 GitHub 时它都会运行程序的测试(这可以通过多种方式进行配置,并且您始终可以在某些分支上禁用构建). 这样做的重点是,你通常可以很快发现你的提 ...

最新文章

  1. 软考网络工程师身份证忘记领取啦怎么办
  2. Python_基础_5
  3. 如何在 Windows 上安装 Python | Linux 中国
  4. ADO.Net知识总结
  5. c++ 两个多边形区域重叠_2018 年英国中级数学挑战赛中的多边形问题
  6. 如何把svn代码拉下来,Maven - 从SVN拉取代码
  7. 【Python】第三方库安装脚本
  8. FTP 简介与 Windows 系统搭建 FTP 服务器
  9. C# 实体映射,对象映射框架——Mapster
  10. 算法求100以内的质数
  11. 这些年的项目管理心得
  12. K3 工业单据的对应相关表作用
  13. 隐藏计算机关机键,关机快捷键有哪些?电脑Windows快捷关机最全方法图文详解
  14. 《前端圈技术论坛-腾讯互娱专场》观后感
  15. 画思维导图一定要用计算机来完成吗,一起来画思维导图
  16. 分析PNG图片格式——数据块
  17. python开发的gui界面,python写gui应用程序
  18. HR 开发技术(abap 转载)
  19. 安卓的工程目录文件夹简单介绍
  20. Abbkine IFKine驴抗小鼠IgG二抗,绿色荧光标记方案

热门文章

  1. 如何使用 IT 服务台调查来提高满意度
  2. Linux如何改为北京时间
  3. 史上最全的开源库整理
  4. JS将sql的dateTime格式数据例如:Wed Sep 30 00:00:00 CST 2020 字符串转换成2020-09-30 00:00:00时间格式
  5. Hadoop解除安全模式
  6. 启用计算机的fn键,联想 ThinkPad 笔记本 Fn 键 关闭与启用方法
  7. chromecast协议_如何将Chromecast用作快速信息仪表板
  8. 小米手机miui12系统下拉通知栏有通知但是看不到通知内容
  9. CC(标准)版D碟收藏指南(三)
  10. python如何导入excel表格_使用Python读取电子表格中的数据