使用Jenkins构建Springboot项目 放入Docker容器

安装 Jenkins

可以直接下载Jenkins包放入服务器解压.
我是使用docker pull的Jenkins镜像.
遇到问题:
	直接解压使用Jenkins.war问题:
		直接下载Jenkins版本不能过低,否则稍后在Jenkins安装插件可能会安装失败
	Docker中直接拉取Jenkins问题:
		因为Jenkins构建项目需要配置Git,Java,Maven等环境,因为Docker容器都是类似于沙箱隔离的,所以服务器上的一些Java,Mavne环境会读取不到,可以在启用Jenkins容器时将所需环境挂载在Jenkins容器中.

安装插件

在启用Jenkins后,初次访问会有推荐安装的插件.
也可以自定义安装
以下是我安装的插件,有些插件可能会因为版本问题安装失败,需根据提示进行相应的版本升级

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Jenkins新建任务

我这里选择的是Maven,较常用的还有流水线和自由风格
在这里插入图片描述

项目配置

1.配置Git地址,我直接配置的https,也可以配置ssh
在这里插入图片描述
2.源码管理也是填入git地址
3. 构建配置
我选择的是项目生成快照时构建,根据情况可以选择定时或轮询
在这里插入图片描述
4.构建时选择的是maven,所有配置pom已经项目maven命令
在这里插入图片描述
5.构建时执行的Shell脚本在这里插入图片描述

#!/bin/bash -il
#操作/项目路径(Dockerfile存放的路劲)
BASE_PATH=/var/jenkins_home/workspace/docker_file

源jar路径

SOURCE_PATH=/var/jenkins_home/workspace/demo/target 
#容器id
CID=$(docker ps | grep "demo" | awk '{print $1}')
 
DATE=`date +%Y%m%d%H%M`
 

最新构建代码 移动到项目环境

function transfer(){
    echo "最新构建代码 $SOURCE_PATH/demo.jar 迁移至 $BASE_PATH ...."
         cp $SOURCE_PATH/demo.jar $BASE_PATH
    echo "迁移完成"
}
 

备份

function backup(){
	if [ -f "$BASE_PATH/demo.jar" ]; then
    	echo "demo.jar 备份..."
        	 cp $BASE_PATH/demo.jar $BASE_PATH/backup/demo-$DATE.jar
			sleep 3
			 rm -rf $BASE_PATH/demo.jar
        echo "备份 demo.jar 完成"
    else
    	echo "$BASE_PATH/demo.jar不存在,跳过备份"
    fi
}
 

构建docker镜像

function build(){
	echo "开始构建镜像..."
	cd $BASE_PATH
	 docker build -t demo .
}
 

运行docker容器

function run(){
	backup
	transfer
	build
	if [ -n "$CID" ]; then
		echo "存在demo容器,CID=$CID,重启docker容器 ..."
			 docker stop $CID
			 docker rm $CID	
			 docker run -d -p 8899:8899 demo
		echo "demo容器重启完成"
	else
		echo "不存在demo容器,docker run创建容器..."
			 docker run  --name demo -d -p 8899:8899 demo 
		echo "demo容器创建完成"
	fi
    delnone
}

删除none镜像

function delnone(){
	docker rmi $(docker images -f "dangling=true" -q)
    echo "清除none镜像"
}
 

入口

run 

查看docker运行的容器

在这里插入图片描述
服务器端口访问,成功
在这里插入图片描述


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值