##1.安装 虽然想直接安装到centos上,但考虑学习配置,就先从windows开始。登陆Jenkins官方网站下载最新的版本。选择版本的时候下意识的就打开下拉箭头选择了windows。这是个美丽的错误,应该选择war的。
一路安装结束后,启动8080发现已经ok了,然而我并不想要占用8080端口,于是寻找配置端口的地方。百度出来的大多数的Jenkins博客也都是简单介绍,而且多是用war来启动的,使用war启动可以设置端口:java -jar jenkins.war --httpPort=$HTTP_PORT
. 然后再安装为windows服务。而我下载的msi一步到位了。又去百度了,没能找到合适的。自己去翻安装好的路径下的配置文件'D:\Program Files (x86)\Jenkins\jenkins.xml'。果然在这里:
<service>
<id>Jenkins</id>
<name>Jenkins</name>
<description>This service runs Jenkins continuous integration system.</description>
<env name="JENKINS_HOME" value="%BASE%"/>
<!--
if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.
The following value assumes that you have java in your PATH.
-->
<executable>%BASE%\jre\bin\java</executable>
<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8070 --webroot="%BASE%\war"</arguments>
<!--
interactive flag causes the empty black Java window to be displayed.
I'm still debugging this.
<interactive />
-->
<logmode>rotate</logmode>
<onfailure action="restart" />
</service>
第一次修改后重启windows服务:'services.msc'->重启。 然而并没有像想想中的那样可以直接访问8070了,因为发现service一启动就关闭了。想起刚开始在Jenkins页面的全局设置了修改了端口,于是改回8080,然而启动登录,进入全局设置:
修改成8070之后,关闭服务,重新修改配置文件8070,启动服务。如此,Jenkins安装完毕。 浏览器访问localhost:8080就可以了。
##2.构建第一个job 这里先完整的记录一个简单的job历程,后面补充踩过的坑。
###2.1构建一个GitHub源码库的job 可以直接新建开始第一个job,然而结果却是失败,原因是一些环境还没有配置好。所以第一步要做的是配置环境。 点击系统管理>>系统设置
####1. 添加home环境变量 这个是血泪铸成的坑。Windows上的Jenkins默认的home并不是我们当前的用户,所以后面如果有用到基于home路径的配置则会统统失败,比如.ssh。 勾选Environment variables,添加home:
####2.设置maven全局配置文件 点击系统管理>> Global Tool Configuration>> 由于国内访问maven镜像库比较慢,因此大多设置为国内的镜像比如阿里云,或者自己搭建的。
####3.设置jdk
####4.设置git
####5.设置maven和gradle
####6.开始创建job 点击新建,输入项目名称,比如demo. 勾选github project, 输入project url
####7. 源码管理
这里是重点,我被卡了几个小时。就是因为前文提到的,Jenkins中git不识别key。就会报错return status code 128
.所以第一步的设置环境变量一定要做。其次是github的配置。在系统配置里有github的配置,这里主要配置一个github的token,方便Jenkins与github集成,最终可以在master的branch下看到一个点,链接指向Jenkins最新的build。这里先不谈集成的问题。
####8.构建触发器 这里可以忽略,以后添加pipeline的时候设置构建逻辑。
####9.构建 这里是项目构建逻辑。即各种执行脚本。选择合适的执行脚本来执行代码。这里测试调用maven直接run项目,当然也可以mvn install打成war包后启动Tomcat。
####10.运行测试 点击保存,然后点击立即构建。 点击进入
点击Console Output 可以看到build的结果:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.966 s
[INFO] Finished at: 2016-11-23T22:39:02+08:00
[INFO] Final Memory: 16M/225M
[INFO] ------------------------------------------------------------------------
Finished: SUCCESS
同时,在github也可以看到master分支build的详情,点击就会跳转到这次build:http://localhost:8070/job/demo/23/
####11.遇到过的问题
returned status code 128:
stdout:
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.
解决:设置home位置
Failed to connect to repository : Command "D:\Program Files\Git\Git\bin\git.exe ls-remote -h git@github.com:winsnow/spring-boot-demo.git HEAD" returned status code 128:
stdout:
stderr: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
解决:设置home位置
###构建一个SVN源码库的job 同上,只不过源码管理选择svn,并且输入账号密码。
###参考
来源:oschina
链接:https://my.oschina.net/u/2298963/blog/793256