jenkins 部署maven项目,spring boot项目,spring cloud项目

一、安装maven插件

前提,已经配置了maven

系统管理--全局工具配置 maven

新建任务是没有带maven的选项?需要安装maven插件

系统管理--插件管理--可选插件,搜索

Maven Integration (有的版本是叫Maven Integration Plugin)

直接安装

安装完,勾选复选框,jenkins重启

这样就可以 构建一个maven项目 了

二、新建任务(新建项目)

1、General

丢弃旧的构建

保存后,可以 继续配置 或 重新配置

2、源码管理

可选分支

添加凭据

3、构建触发器

默认

4、构建环境

勾选 Add timestamps to the Console Output

5、Pre Steps

默认

6、Build

pom.xml

clean install -Dmaven.test.skip=true

7、Post Steps

待配置

执行shell

#定义变量
APP_PROJECT="promoter"
APP_NAME="promoter-register"
APP_VERSION="1.0.0"
APP_PORT=8701
IMAGE_NAME="127.0.0.1:5000/$APP_PROJECT/$APP_NAME:$BUILD_NUMBER"
CONTAINER_NAME=$APP_NAME-$APP_VERSION

#进入target目录复制Dockerfile文件
cd $WORKSPACE/$APP_NAME/target
cp classes/Dockerfile .

#构建docker镜像
docker build --no-cache -t $IMAGE_NAME .

#推送docker镜像
docker push $IMAGE_NAME

#删除docker容器
cid=$(docker ps -a | grep "$CONTAINER_NAME" | awk '{print $1}')
if [ "$cid" != "" ]; then
   docker stop $cid
   docker rm -f $cid
fi

mkdir -p /logs/$APP_NAME

#启动docker容器
docker run -d -p $APP_PORT:8701 -v /logs/$APP_NAME:/logs/$APP_NAME -e "SPRING_PROFILES_ACTIVE=test" --name $CONTAINER_NAME $IMAGE_NAME

#删除Dockerfile文件
rm -f Dockerfile

docker push $IMAGE_NAME,推送到docker私有仓库,不是必须的,

docker 安装私有仓库 registry
https://blog.csdn.net/haveqing/article/details/89854408

其中,$BUILD_NUMBER,$WORKSPACE 在 可用的环境变量列表 内

我觉得这段脚本以后应该加些清理机制,如清除7天前生成的东西。

Dockerfile文件在应用项目下

FROM frolvlad/alpine-oraclejdk8:latest
USER root

RUN apk --no-cache add tzdata  && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone

ENV LANG=zh_CN.UTF-8

VOLUME /tmp

ADD promoter-register-1.0.0-SNAPSHOT.jar app.jar

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

frolvlad/alpine-oraclejdk8,是一个含有jdk8的比较小的linux系统

apk --no-cache add tzdata 容器与宿主机时间同步

-Djava.security.egd=file:/dev/./urandom 快速生成随机数

Dockerfile文件详解
https://www.cnblogs.com/panwenbin-logs/p/8007348.html

8、构建设置

默认

9、构建后操作

默认

三、构建时查看日志

发布了67 篇原创文章 · 获赞 11 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/haveqing/article/details/89706187
今日推荐