由于电脑系统更换过,本地安装的jenkins已经没有了,为了验证BlueOcean,决定重新安装jenkins。
之前一直用brew install jenkins,这次决定手动安装,通过war包和tomcat启动。

一、配置Tomcat

1、下载很简单
登录Tomcat官网,地址是http://tomcat.apache.org,点击Download选择需要下载的版本下载,需要注意的是我的mac版本,故选择下载Core下面的zip。
2、解压和启动
我就解压在本地的Documents里面,然后重命名为jenkins。这时候

1
2
cd jenkins/bin
sh ./starup.sh

验证tomcat是否启动成功,一般情况下,会报错提示:

1
2
3
Cannot find ./catalina.sh
The file is absent or does not have execute permission
This file is needed to run this program

是因为权限不够,赋予权限即可。

1
sudo chmod 755 bin/*.sh

这个时候,启动正常应该提示:

1
2
3
4
5
Using CATALINA_BASE: /Users/djx/Documents/JENKINS
Using CATALINA_HOME: /Users/djx/Documents/JENKINS
Using CATALINA_TMPDIR: /Users/djx/Documents/JENKINS/temp
Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
Using CLASSPATH: /Users/djx/Documents/JENKINS/bin/bootstrap.jar:/Users/djx/Documents/JENKINS/bin/tomcat-juli.jar

打开浏览器输入http:127.0.0.1:8080应该有tomcat的提示。

关闭tomcat也很简单:

1
sh ./shutdown.sh

二、下载jenkins.war并配置tomcat

1、下载jenkins
下载安装jenkins,去官网下载https://jenkins.io/
这里直接下载war包, 不要下载Mac OS X,下载完成的到jenkins.war文件
2、安装,启动jenkins
将jenkins.war文件复制到jenkins/webapps,然后删除ROOT文件, 重命名jenkins.war -> ROOT.war

3、bin 目录下新建 setenv.sh 文件,内容如下:

1
export JENKINS_HOME=/Users/djx/Documents/jenkins_workspace

这里路径随意,是存放job等一些信息的。

4、启动,依然是用sh ./starup.sh
5、然后就可以在浏览器输入http:127.0.0.1:8080,进入jenkins。

6、查看日志输出

1
tail -f ../logs/catalina.out

三、BlueOcean

1、了解BlueOcean是什么之前,我谈谈做持续集成这么久之后,想达到新目标:


提取出公有部分封装为公有JOB
实现pipeline对其他JOB的调用和逻辑的判断
实现多节点同时并发build


好了,目前BlueOcean貌似支持,虽然只是以插件形式存在,需要Jenkins 2.7版本以上才支持,我就是用brew install jenkins安装的jenkins怎么都无法安装上BlueOcean,所以我采用tomacat加jenkins.war来实现安装。

2、安装
系统管理->管理插件->可选插件,选择BlueOcean beta->restart。

安装完毕后,BlueOcean入口在菜单栏居中: “Open Blue Ocean”,进去后可以看到全新的UI:
Blue Ocean进入界面

3、开始尝试
(1)新建一个Pipeline项目,配置如下:
选择Pipeline script:

1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env groovy
node {
stage('Clone Code') { // for display purposes
git branch: 'master', credentialsId: 'xxx', url: 'ssh://xxxx@internal.ddd.com.cn:xxx'
}
stage('build') {
sh "ci_ios/xcode-build/ipa-inhouse/mifit-inhouse-upgrade.sh"
}
}

(2)可以看构建流程:
Blue Ocean构建流程

小结

现在只是一个beta版本,社区还不活跃,比如还不会同时拉取两个repo,比如还不会解决参数化。
慢慢来吧,这是一个过程,但是必须经历。。。