一、用Docker安装Jenkins
1.拉取Jenkins镜像
- 这里我们拉取jenkinsci/jenkins镜像,因为它是最新版Jenkins,方便后面安装插件操作
$docker pull jenkinsci/jenkins
2.创建Jenkins文件授权并启动
- 创建Jenkins目录
$mkdir /usr/local/jenkins
$cd /usr/local
- 查看文件权限
$ls -nd jenkins/
- 分配文件权限
$chown -R 1000:1000 jenkins/
- 启动容器
$docker run -itd -p 9090:8080 -p 50000:50000 --name jenkins --privileged=true -v /usr/local/jenkins:/var/jenkins_home jenkinsci/jenkins:latest
3.访问ip:9090,如下
- 获取密码并登录
$cat /usr/local/jenkins/secrets/initialAdminPassword
- 这里我们选择install suggested plugins
- 如下这里因为是之前jenkins镜像安装截图,它不是最新版本Jenkins所以有很多插件安装不成功,现在我们用的jenkinsci/jenkins这个镜像就不会存在安装插件不成功的问题了
- 然后就是设置一个用户
- 准备工作完成就可以开始使用Jenkins了
- 下面就进入了Jenkins的主界面
二、配置Jenkins
1.基础配置
进入全网工具配置界面
1.1 配置JDK
Docker Jenkins 是一个专用来做部署的容器,自带Java,不需要额外配置JDK!!!
1.2 配置 Maven
maven的配置,我们先将maven拷贝到/usr/local/jenkins下然后在Jenkins配置maven路径,因为我们在启动docker容器时/usr/local/jenkins映射的就是/var/jenkins_home/,所以我们这样来配置jenkins能直接找到maven,linux下安装配置maven点击这里
1.3 配置Git
- 还是需要我们将git安装在/usr/local/jenkins下,不然docker找不到路径会报错。linux下安装配置git请点击这里!
2.插件安装
- 进入插件管理界面
2.1 Maven插件安装
- 搜索并安装maven插件
三、Jenkins的简单使用
1.新建项目
2.配置项目
2.1 General模块配置
- 这个模块我们就只需要添加描述就可以了
2.2 配置项目git地址和凭证
- 这是配置好的状态,那么配置这个凭证需要做些什么,请让我下面一一道来。
2.2.1 凭证配置(Linux上面git创建用户生成公玥和私钥)
2.2.2 凭证配置(将/root/.ssh下的公钥配置到GitHub)
2.2.3 凭证配置(将/root/.ssh下的私钥配置到Jenkins)
- 进入凭证管理系统
- 添加凭证
- 详情
2.3构建触发器
- 触发器决定什么时候构建项目,下面有很多种出发方式触发构建,如脚本,定时等。这里我们用原始的点击构建按钮时构建。
2.4 构建环境
- 我们使用输出时打印时间就可以了
2.5 Build 在下面输入需要执行的maven命令
- 如下我们在全局配置选项中输入了clean package -Dmaven.test.skip=true -Ptest命令清理和跳过测试打包构建。
2.6 Post Steps我们选择执行shell脚本
- 如下
cd /var/jenkins_home/ #根据自己springsecurity.sh脚本地址写
sh springsecurity.sh
BUILD_ID=dontKillMe nohup java -jar /var/jenkins_home/workspace/springsecurity/target/springsecurity-0.0.1-SNAPSHOT.jar &
- springsecurity.sh
#!/bin/bash
echo "Stopping SpringBoot Application"
pid=`ps -ef | grep springsecurity-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
2.7我们点击立即构建
- 查看控制台消息
- 构建成功
四、问题集:
问题1:maven等插件不能下载安装(因为Jenkins不是最新版本)
- 问题分析:
这是由于Jenkins的版本太低,部分插件不支持下载! - 解决方案:
下载最新Jenkins包:wget http://mirrors.jenkins.io/war/latest/jenkins.war ,进入docker容器找到Jenkins包的位置然后在换上最新版本包。(docker操作命令请点击这里)
问题2:Jenkins构建项目时不能读取到jdk的位置 No such file or directory。
- ERROR: Failed to parse POMs java.io.IOException: Cannot run program “/var/jenkins_home/jdk1.8.0_151/bin/java” (in directory “/var/jenkins_home/workspace/springsecurity”): error=2, No such file or directory
- 问题分析:
docker jenkins 是一个专用来做部署的容器,自带Java,不需要额外配置JDK - 解决方案:
删掉jenkins全局配置里的JDK配置!