OSGi enRoute – 2.3_11 – 持续集成
你将学到什么
在本章中我们将会使用[Github] 和 [Travis]来配置一个持续集成系统,它们为开源开发者提供的免费服务。
在本章中我们假定你已经在Github和Travis上有了账号。
创建一个Github代码库
到现在为止我们已经创建了一个代码库,但是它还并不是一个git代码库并且并没有存储在Github上。
第一步是在Github上创建一个名为 osgi.enroute.examples.eval的代码库。一旦你创建了这个代码库,我们需要将它添加到我们的工作空间之中。
提交代码库
首先我们需要设置.gitignore属性以便将我们不希望包含进来的文件排除掉。一般来说,按照下面进行配置就可以了:
1 2 |
osgi.enroute.examples.eval $ vi .gitignore // 添加下面的内容 |
1 2 3 4 5 6 7 8 |
target/ generated/ */bin/ */bin_test/ */target/ */generated/ **/*.class **/*.jar |
我们现在需要将代码库连接到Github(使用你的用户名来替代xxxx):
1 2 3 4 5 |
osgi.enroute.examples.eval $ git init osgi.enroute.examples.eval $ git add . osgi.enroute.examples.eval $ git commit -m "first commit" osgi.enroute.examples.eval $ git remote add origin git@github.com:xxxxxx/osgi.enroute.examples.eval.git osgi.enroute.examples.eval $ git push -u origin master |
激活Travis
在我们创建了Github代码库之后,我们可以在Travis网站上启用它(使用你的Github用户id来替代xxxx)。
你应该点击右上角的用户名并选择Accounts。它将会打开一个你的代码库列表。如果你的代码库没有显示出来,你可以 点击Sync Account。打开开关来激活你的CI构建。
准备使用Travis
Travis是一个免费的开源持续集成解决方案。通过在Github代码库的根目录中增加一个简单的.travis.yml文件,我们可以自动构建工作空间。
1 2 |
osgi.enroute.examples.eval $ vi .travis.yml //增加下面的内容 |
1 2 3 4 5 6 7 |
language: java jdk: - oraclejdk8 before_install: - rm ~/.m2/settings.xml |
这些就是全部配置!默认情况下Travis将会首先调用不带测试用例的mvn install,然后将会调用mvn test来校验结果是否与我们的预期一致。这样我们能够在运行long test之前发现一些容易发现的问题。
由于默认的配置项中包含了一些在我们的构建中不需要使用的代码库,所以我们需要将这些配置项移除掉。
现在我们来保存并提交这些改动。
1 2 3 |
osgi.enroute.examples.eval $ git add .travis.yml osgi.enroute.examples.eval $ git commit -m "Travis" osgi.enroute.examples.eval $ git push |
你现在可以在Travis网站上查看我们的代码库构建结果:
https://travis-ci.org/xxxxx/osgi.enroute.examples.eval

