docker-compose配置Jenkins部署SpringBoot单体项目

简介

本文以图文形式的实际案例介绍了Jenkins拉取Gitee管理的SpringBoot单体项目发布至远程服务器的过程。

注:本文使用docker-compose安装的Jenkins,文末会附docker-compose.yml配置,要使用该配置需要掌握基本的docker命令

环境

CentOS Linux release 7.9.2009 (Core)

apache-maven-3.8.9

java version "1.8.0_212"

jenkins/jenkins:lts(docker-compose部署的jenkins)

正文

项目图附一张

一、Jenkins自定义插件

以下插件为我Jenkins中安装的所有插件

Build Timeout

Command Agent Launcher Plugin

Folders Plugin

Git plugin

JavaMail API版本

Maven Integration plugin

Oracle Java SE Development Kit Installer Plugin

Pipeline: Job

Publish Over SSH

SSH Agent Plugin

SSH Pipeline Steps

SSH server

Timestamper

Locale plugin

Localization: Chinese (Simplified)

二、Jeknins系统配置

系统配置只配置项目运行的远程服务器

三、全局工具配置

全局工具配置主要是三点,JDK、Git、Maven的配置

1、配置settings,可以下拉选择文件系统中的settings文件,选中后会让你填写一个自己的settings(主要是配置国内镜像的),由于我在maven里配置好了,后面直接做的maven映射,所以这里不动

2、配置JDK和Git,由于我使用的docker compose装的jenkins,jdk和git都已经内置在jenkins中了,所以这一块也不用动

3、配置Maven

注意:如果是使用docker安装的Jenkins(比如我用的docker-compose),这里的maven路径填写的就是容器中的maven路径(容器中的maven通常是用卷轴映射的)

完成上述配置就可以新建项目部署配置了

四、新建项目与配置

初次认证点击添加会弹出该窗口

五、自定构建运行项目

这里可以看见已经完成了,我们去服务器看 是否真的完成了

jar包已经传上来了,也已经运行了,访问看看

访问成功

Jenkins部署SpringBoot单体项目成功

最后我把我的jenkins 的docker-compose配置贴一下吧

bash 复制代码
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    user: root
    ports:
      - "8080:8080" # Jenkins 访问端口
      - "50000:50000" # Jenkins 代理端口
    environment:
      - TZ=Asia/Shanghai # 设置时区(根据需要调整)
     # - JAVA_OPTS=-Djenkins.install.runSetupWizard=false # 跳过初始设置向导
      - JENKINS_UC_URL=https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates
    volumes:
      - /usr/local/docker/jenkins/jenkins_home:/var/jenkins_home # Jenkins 数据持久化
      - /usr/local/maven/apache-maven-3.8.9:/usr/local/maven/apache-maven-3.8.9 # 挂载主机的 Maven 目录(可选)
      - /var/run/docker.sock:/var/run/docker.sock # 允许 Jenkins 访问 Docker(用于 Docker 构建)
    restart: unless-stopped
    networks:
      - jenkins_network
networks:
  jenkins_network:
    driver: bridge

这里是配置jenkins下载插件的国内镜像,否则插件下载的比较慢

bash 复制代码
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates