jenkins + docker-compose + Dockerfile +springboot + git + maven持续自动化构建项目

基于springboot多模块项目构建,最终实现功能如下

  • 1、实现 代码提交到gitlab后,点击jenkins自动从gitlab拉取代码
  • 2、通过maven打包,并上传到远程 ssh-server 服务器
  • 3、Dockerfile 打包jar包成镜像
  • 4、docker-compose一键启动

具体步骤

1、jenkins安装与详细配置,之前所有的配置都在这里,链接在下面

基于docker-compose搭建jenkins服务(包含大坑问题处理)_ricardo.M.Yu的博客-CSDN博客

2、新建一个maven项目

jenkins + docker-compose + Dockerfile +springboot + git + maven持续自动化构建项目_第1张图片

 重要配置:

git仓库配置

jenkins + docker-compose + Dockerfile +springboot + git + maven持续自动化构建项目_第2张图片

git凭据

jenkins + docker-compose + Dockerfile +springboot + git + maven持续自动化构建项目_第3张图片

 指定分支

jenkins + docker-compose + Dockerfile +springboot + git + maven持续自动化构建项目_第4张图片

 maven build跳过测试

jenkins + docker-compose + Dockerfile +springboot + git + maven持续自动化构建项目_第5张图片

重要操作:推送到远程服务

构建完成后,选择下面操作,可以将jar包推送到远程服务器,

jenkins + docker-compose + Dockerfile +springboot + git + maven持续自动化构建项目_第6张图片

jenkins + docker-compose + Dockerfile +springboot + git + maven持续自动化构建项目_第7张图片

 需要准备的东西如下:

目标jar包

docker-compose.yml (容器启动)

Dockerfile (将jar打包成镜像)

restart.sh  (重启脚本)

注意:  jar包、docker-compose.yml、Dockerfile 需要放到同一目录下

jenkins + docker-compose + Dockerfile +springboot + git + maven持续自动化构建项目_第8张图片

docker-compose配置  项目名相关隐藏,需要修改下

version: '3.8'
networks:
  apps:
    external: true

services:
  minfang-service:
    build: ./
    image: ***:release
    networks:
      - apps
    ports:
      - 8100:8081
    environment:
      JVM_OPTS: -server -Xmx1000M -Xms1000M -XX:MaxMetaspaceSize=500M -XX:CompressedClassSpaceSize=50M -XX:ReservedCodeCacheSize=240M -XX:MaxDirectMemorySize=400M -XX:+UseZGC
    deploy:
      resources:
        limits:
          memory: 2464M
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "1"
    volumes:
      - "/etc/localtime:/etc/localtime"
      - "/project/**/service/logs:/app-logs"
    command: [
              "--spring.output.ansi.enabled=never",
              "--logging.file.path=/app-logs"
              ]


Dockfile配置

FROM openjdk:11
COPY ./**-0.0.1-SNAPSHOT.jar /app.jar
EXPOSE 8100
ENV JVM_OPTS -server -Xmx1000M -Xms1000M -XX:MaxMetaspaceSize=500M -XX:CompressedClassSpaceSize=50M -XX:ReservedCodeCacheSize=240M -XX:MaxDirectMemorySize=400M
RUN echo $JVM_OPTS
ENTRYPOINT exec java $JVM_OPTS -jar /app.jar "$@"

启动成功,正常访问

jenkins + docker-compose + Dockerfile +springboot + git + maven持续自动化构建项目_第9张图片

 

你可能感兴趣的:(jenkins,jenkins,docker,spring,boot,linux)