jenkins docker快速构建springBoot项目

准备工作:安装git,maven,jdk

一、jenkins 

 1.安装jenkins    wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.263.2/jenkins.war

 2.启动jenkins,并指定端口   java -jar  jenkins.war --httpPort=8899

 3.登录jenkins,默认管理员密码 执行命令获取 /root/.jenkins/secrets/initialAdminPassword

 4.jenkins 安装git相关插件

 5.配置maven的安装路径

6.配置jdk

7.配置git 、maven

8.创建任务

9.配置源码管理,如果连接不上,需要配置Credentials

10.配置构建脚本,maven使用spring boot打包插件

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

    mvn clean package

 11.配置shell启动脚本

#操作/项目路径(Dockerfile存放的路劲)
BASE_PATH=/opt/java/jar/order
#docker 镜像/容器名字或者jar名字 这里都命名为这个
SERVER_NAME=order
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#镜像id
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
#主机端口号
HOST_PORT=9003
#容器端口号
C_PORT=9003
#时间
DATE=`date +%Y%m%d%H%M`
function build(){
	#判断镜像是否存在
	if [ -n "$IID" ]; then
		echo "存在$SERVER_NAME镜像,IID=$IID,删除镜像"
		docker rmi $IID
		cd $BASE_PATH
		docker build -t $SERVER_NAME .
		echo "$SERVER_NAME镜像重新构建完成"
		docker images
	else 
		echo "不存在$SERVER_NAME镜像,开始构建镜像"
		cd $BASE_PATH
		docker build -t $SERVER_NAME .
		echo "$SERVER_NAME镜像构建完成"
		docker images
	fi
}
function run(){
	echo "开始时间>>>>>>$DATE"
	#判断容器是否存在
	if [ -n "$CID" ]; then
		echo "存在$SERVER_NAME容器,CD=$CID,停止运行并删除"
		docker stop $CID
		docker rm $CID
		echo "$SERVER_NAME容器已经停止运行并删除"
		build
		echo "开始重新运行$SERVER_NAME镜像"
		docker run -p $HOST_PORT:$C_PORT --name $SERVER_NAME -d $SERVER_NAME
		echo "$SERVER_NAME已经重新运行"
		docker ps
		echo "结束时间>>>>>>$DATE"
	else
		echo "不存在$SERVER_NAME容器,判断是否存在$SERVER_NAME镜像"
		build
		echo "开始运行$SERVER_NAME镜像"
		docker run -p $HOST_PORT:$C_PORT --name $SERVER_NAME -d $SERVER_NAME
		echo "$SERVER_NAME已经运行"
		docker ps
		echo "结束时间>>>>>>$DATE"
	fi		
}
function initFile(){
	#创建文件夹
	rm -rf $BASE_PATH
	mkdir $BASE_PATH
    #创建Doctorfile文件
	echo "
      FROM java:8
      VOLUME /tmp
      ADD order-1.0.0-SNAPSHOT.jar app.jar
      EXPOSE 8081
      ENTRYPOINT [\"java\",\"-jar\",\"/app.jar\"]
    " >$BASE_PATH/Dockerfile
    echo "$BASE_PATH/Dockerfile 创建成功"
    #复制文件
    cp /root/.jenkins/workspace/example-order/target/order-1.0.0-SNAPSHOT.jar /opt/java/jar/order
}
#初始化文件
initFile
#运行
run

二、安装docker

 1.查看是否安装docker   yum list installed | grep docker

 2.安装docker    yum -y install docker

 3.启动docker   systemctl start docker

 4.创建DockerFile文件和jar包在同一目录

FROM java:8
VOLUME /tmp
ADD order-1.0.0-SNAPSHOT.jar app.jar
EXPOSE 8081
ENTRYPOINT ["java","-jar","/app.jar"]

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值