一、准备工作

  1. 准备测试代码,提交到Git仓库 1.1代码中需要包含Dockerfile文件
  2. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jar

  3. Dockerfile文件内容:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY ./target/demojenkins.jar demojenkins.jar
ENTRYPOINT ["java","-jar","/demojenkins.jar", "&"]

1.2在项目pom文件中指定打包类型,包含build部分内容

jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jenkins_02


jenkins如何检测springboot是否启动成功 jenkins 发布springboot_java_03

  1. 安装JAVA 运行环境
  2. 安装maven
  3. 安装git
yum -y install git
  1. 安装docker
  2. 安装Jenkins下载地址 6.1上传jenkins.war到服务器 6.2启动
nohup java -jar /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &

jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jenkins_04

二、初始化 Jenkins 插件和管理员用户

  1. 访问jenkins
    http://ip:8080
  2. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_linux_05

  3. 解锁jenkins
    获取管理员密码
  4. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jenkins_06

  5. 选择“继续”
    注意:出现此页面就不要往下进行了,配置国内的镜像,官方下载插件慢。关掉此页面,去配置镜像
  6. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jar_07

  7. 配置镜像
    4.1先杀掉进程
ps -ef | grep jenkins
kill -9 pid

jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jenkins_08


4.2 cd {你的Jenkins工作目录}/updates ,进入更新配置位置

cd /root/.jenkins/updates/

jenkins如何检测springboot是否启动成功 jenkins 发布springboot_linux_09

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

jenkins如何检测springboot是否启动成功 jenkins 发布springboot_linux_10

这是直接修改的配置文件,如果前边Jenkins用sudo启动的话,那么这里的两个sed前均需要加上sudo

  1. 重启Jenkins,选择“安装推荐插件”
nohup java -jar /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &

jenkins如何检测springboot是否启动成功 jenkins 发布springboot_docker_11


8. 插件安装完成,创建管理员用户

jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jar_12


9. 保存并完成

jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jar_13


11. 进入完成页面

jenkins如何检测springboot是否启动成功 jenkins 发布springboot_java_14

三、配置 Jenkins 构建工具

  1. 全局工具配置
  2. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jar_15

  3. 配置jdk
  4. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_linux_16


  5. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jenkins_17

  6. 配置maven
  7. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_linux_18

  8. 配置git
  9. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jenkins_19


  10. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jar_20

四、构建作业

  1. 点击创建一个新item,进入创建项目类型选择页面
  2. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_docker_21

  3. 配置“General”
  4. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_docker_22

  5. 配置“源码管理”
    填写源码的git地址
  6. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jar_23

  7. 添加git用户,git的用户名与密码
  8. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_docker_24

  9. 构建作业
    选择“执行shell”
  10. jenkins如何检测springboot是否启动成功 jenkins 发布springboot_jar_25

#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
#当前项目路径(在GitHub中为根路径)
cd ./
#打包名字
service_name="demojenkins"
service_prot=8111
#查看镜像id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
then
    echo "exist $SERVER_NAME image,IID=$IID"
    #删除镜像
    docker rmi -f $service_name
    echo "delete $SERVER_NAME image"
    #构建
    docker build -t $service_name .
    echo "build $SERVER_NAME image"
else
    echo "no exist $SERVER_NAME image,build docker"
    #构建
    docker build -t $service_name .
    echo "build $SERVER_NAME image"
fi
#查看容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
    echo "exist $SERVER_NAME container,CID=$CID"
    #停止
    docker stop $service_name
    #删除容器
    docker rm $service_name
else
    echo "no exist $SERVER_NAME container"
fi
#启动
docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name
#查看启动日志
#docker logs -f  $service_name

保存上面的构建作业

jenkins如何检测springboot是否启动成功 jenkins 发布springboot_java_26

  1. 构建
    5.1执行构建过程
    需要先启动docker
service docker start

jenkins如何检测springboot是否启动成功 jenkins 发布springboot_linux_27


jenkins如何检测springboot是否启动成功 jenkins 发布springboot_docker_28


5.2查看控制台输出

jenkins如何检测springboot是否启动成功 jenkins 发布springboot_java_29


jenkins如何检测springboot是否启动成功 jenkins 发布springboot_linux_30