阿里云CentOS6搭建Jenkins
Tamako

安装jenkins

首先下载安装包,因为官方源用着实在是太慢了,因此换用清华大学的开源镜像站,选择一个版本,服务器中输入wget 版本链接

输入rpm -ivh 文件进行安装,完成后vim /etc/sysconfig/jenkins 修改端口以免冲突;

输入which java查看jdk地址,修改jenkins配置,vim /etc/init.d/jenkins

image

service jenkins start,在浏览器打开ip:端口jenkins加载必要的文件。

为了提高下载速度,需要先设置更新源为其他国内镜像源

输入vi /var/lib/jenkins/updates/default.json 后参照Jenkins安装插件提速进行修改,

1
:1,$s/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g
1
:1,$s/http:\/\/www.google.com/https:\/\/www.baidu.com/g

或者进入目录下,在终端直接输入

1
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

接下来service jenkins restart启动,输入ip:端口,会看见jenkins启动中。

按照提示查看密码并输入:

cat /var/lib/jenkins/secrets/initialAdminPassword

然后安装推荐的插件,等待安装完成。

成功进入jenkins界面后,依次点击Manage Jenkins-Manage Plugins-Advanced,拉到最下面,将默认的检查更新源

更改为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,这可以加快获取列表的速度。

配置jenkins所需插件

检查是否已安装以下两个插件:

  1. Maven Integration 使我们可以开始一个maven项目作为任务

  2. Git plugin 使我们可以读取存放在git仓库的项目

如果没有,就去插件管理里面搜索安装。

配置jenkins全局工具

系统管理 –> 全局工具配置

image

主要是配置jdkgit的地址,which javawhich git查看就行了。

新建任务

maven项目

image

点击“新建任务”,输入名称,选择构建maven项目。

如图,添加源码位置,这里可以添加Credentials,一般使用https的方式添加源码就行了。使用ssh还需要到服务器里生成公钥添加到git

image

接下来添加build goalclean package -Dmaven.test.skip=true这个是用来生成拥有Spring启动程序的项目的代码,如果是用来生成api供自己的程序使用,需要用clean install -Dmaven.test.skip=true这个命令。

image

最后添加Post Steps

选中Run only if build succeeds,add post-build step选择执行shell,按照如下格式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/bash 

#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。
export BUILD_ID=dontKillMe


#指定最后编译好的jar存放的位置
www_path=/usr/jars
#Jenkins中编译好的jar位置,其中md_metadata是自己的项目名称
jar_path=/var/lib/jenkins/workspace/md_metadata/target/

#Jenkins中编译好的jar名称,注意改成自己的项目名称
jar_name=metadata-0.0.1-SNAPSHOT.jar

#获取运行编译好的进程ID,便于我们在重新部署项目的时候先杀掉以前的进程,注意改成自己的项目名称
pid=`ps -ef | grep metadata-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi

#进入指定的编译好的jar的位置
cd ${jar_path}

#将编译好的jar复制到最后指定的位置
cp ${jar_path}/${jar_name} ${www_path}

#进入最后指定存放jar的位置
cd ${www_path}

#启动jar
java -jar ${jar_name} &

点击保存,ok。

流水线任务
1
2
3
4
5
6
7
8
9
10
node{
stage("starter"){
echo "run starter"
build job:"md_starter"
}
stage("eureka"){
echo "run eureka"
build job:"md_eureka"
}
}