Jenkins 的前身是 Hudson,它是基于 Java 开发的一种持续集成(Continuous Integration,简称 CI)开源工具。用于持续交付、自动构建、测试、发布和监控等,无需过多的人工干预,利于提高开发的效率。
1. 安装
到 Jenkins 官网下载安装包 jenkins-2.60.3-1.1.noarch.rpm。Jenkins 2.54 或以上的版本需要 JDK 8 或以上的版本作为运行时环境。如果你系统环境的 JDK 版本低于 8,请选用低于 2.54 的 Jenkins 安装包。
1
| # rpm -ivh jenkins-2.60.3-1.1.noarch.rpm
|
目录 |
描述 |
/usr/lib/jenkins/ |
war 包目录 |
/var/lib/jenkins/ |
默认的 JENKINS_HOME 目录 |
/var/log/jenkins/ |
日志文件目录 |
/etc/sysconfig/jenkins |
配置文件 |
1.1 JDK 配置
1
| # vi /etc/init.d/jenkins
|
在 66 行附近找到 candidates 的配置:
1 2 3 4 5 6 7 8
| candidates=" /etc/alternatives/java /usr/lib/jvm/java-1.8.0/bin/java /usr/lib/jvm/jre-1.8.0/bin/java /usr/lib/jvm/java-1.7.0/bin/java /usr/lib/jvm/jre-1.7.0/bin/java /usr/bin/java "
|
将你机器的 JDK 安装目录下的 /bin/java 文件的路径添加到第一行,其余行也可以删掉:
1 2 3
| candidates=" /usr/local/jdk1.8.0_144/bin/java "
|
1.2 端口配置(可选):
1
| # vi /etc/sysconfig/jenkins
|
在 56 行,默认端口是 8080,可自行修改:
1.3 用户配置
Jenkins 安装时默认创建了一个名为 jenkins 的用户,为避免 Jenkins 运行时没有操作其他文件的权限,可修改为其他权限用户,比如 root:
1
| # vi /etc/sysconfig/jenkins
|
在 29 行:
1 2 3 4 5 6 7 8 9
| # # # # # Unix user account that runs the Jenkins daemon # Be careful when you change this, as you need to update # permissions of $JENKINS_HOME and /var/log/jenkins. # JENKINS_USER="root"
|
1.4 命令行
启动:
停止:
重启:
1.5 启动应用
第一次使用 Jenkins 时,它会自动生成一个随机的口令。你需要输入正确的口令才能进入系统。
1
| $ cat /var/lib/jenkins/secrets/initialAdminPassword
|
复制并粘贴口令进入到安装界面:
选择第一项Install suggested plugins
,等待安装完成。待安装完成之后,创建管理员账户:
至此,安装完成。
2. 应用配置
2.1 JDK 配置
系统管理 -> Global Tool Configuration
2.2 Maven 配置
系统管理 -> Global Tool Configuration
2.3 SVN 账户配置
Credentials -> global -> Add Credentials
2.4 GIT 账户配置
Credentials -> global -> Add Credentials
2.5 Maven 集成插件
系统管理 -> 管理插件 -> Maven Integration plugin
2.6 发布插件
系统管理 -> 管理插件 -> Deploy to container Plugin
3. 创建任务
4. 任务配置
附 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| export BUILD_ID=anything app_tomcat_path=/home/fanlychie/application/helloworld-demo-tomcat workspace=$WORKSPACE app_final_name=${workspace##*/} app_tomcat_name=${app_tomcat_path##*/} app_backup_path=$app_tomcat_path/backup app_backup_pathname=$app_backup_path/`echo | awk '{print strftime("%Y-%m-%d-%H-%M-%S")}'` # 应用Tomcat的进程ID app_tomcat_process_id=`ps -ef | grep $app_tomcat_name | grep -v grep | awk '{print $2}'` # 杀掉进程 if [ $app_tomcat_process_id != "" ]; then kill -9 $app_tomcat_process_id fi # 创建备份目录 if [ ! -d $app_backup_path ]; then mkdir $app_backup_path fi # 创建备份路径 mkdir $app_backup_pathname # 备份应用 cp -r $app_tomcat_path/webapps/ROOT $app_backup_pathname # 清空目录 rm -rf $app_tomcat_path/webapps/ROOT/* # 拷贝应用包 cp -f ${workspace}/target/*.war ${app_tomcat_path}/webapps/ROOT # 进入ROOT目录 cd ${app_tomcat_path}/webapps/ROOT # 解压缩应用包 jar xvf *.war # 删除应用包 rm -f *.war # 启动应用Tomcat服务 ${app_tomcat_path}/bin/startup.sh
|
5. 用户管理
系统管理 -> Configure Global Security
系统管理 -> 管理用户 -> 新建用户
用户新建完成后再到系统管理 -> Configure Global Security
添加用户并配置权限。
环境:Java-8、Maven-3、Tomcat-8、Jenkins-2.60.3、Centos-6