Docker环境Jenkins自动部署Gradle构建的Docker项目

news/2024/5/20 1:39:14 标签: docker, gradle, java, jenkins, springboot

Jenkins自动部署docker项目

    • 系列文章导读
    • 准备工作
    • 配置Jenkins
      • 安装Jenkins Docker插件
      • docker-java-api.hpi
      • docker-plugin.hpi
      • docker-build-step.hpi
      • Jenkins全局工具配置
      • 配置Jenkins任务的build步骤
        • 关闭、移除上次的容器
        • 构建新的image同时运行容器
      • 提交代码变更
      • 自动触发了Jenkins构建项目

在这里插入图片描述

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


系列文章导读

CentOS Docker 安装并用国内镜像加速(阿里云、网易)

Idea下Gradle打包Springboot项目的Docker镜像

Docker环境Jenkins及Gitlab安装集成

Docker环境Jenkins连接gitee自动构建Gradle项目


准备工作

环境准备

  1. 一台有公网IP的服务器
  2. Docker
  3. Jenkins
  4. 一个Gradle的Docker项目

以上四个环境都可以通过上面系列文章导读来实现,所以在此就不再赘述。

实例项目仓库地址
Gradle-Docker-springboot

配置Jenkins

安装Jenkins Docker插件

如果你的服务器访问不了外网的话就需要手动下载插件了,具体操作请看
Docker环境Jenkins连接gitee自动构建Gradle项目

dockerjavaapihpi_43">docker-java-api.hpi

docker-java-api.hpi

dockerpluginhpi_45">docker-plugin.hpi

docker-plugin.hpi

dockerbuildstephpi_47">docker-build-step.hpi

docker-build-step.hpi

Jenkins全局工具配置

配置一下Docker
在这里插入图片描述

配置Jenkins任务的build步骤

此项目也是在Docker环境Jenkins连接gitee自动构建Gradle项目
只是更改了build步骤的脚本
之前的gradle项目通过startup.sh脚本启动和清理上个进程。

gradle docker项目通过shell脚本构建image,然后同故宫使用Dockerfile来启动。

在这里插入图片描述

关闭、移除上次的容器

docker stop higradle3
docker rm higradle3

构建新的image同时运行容器

开启端口6002
指定容器名字为 higradle3

docker build -f build/resources/main/Dockerfile -t mydocker/gradle . && docker run -d --name higradle3 -p 6002:6001 mydocker/gradle

提交代码变更

在这里插入图片描述

自动触发了Jenkins构建项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


http://www.niftyadmin.cn/n/1307430.html

相关文章

WebRTC 系列文章 文件共享

WebRTC 系列文章 文件共享环境准备实现思路FileReader事件处理方法RTCDataChannel具体操作步骤如下发送方接收方码代码打开数据通道和接收文件事件处理发送文件项目仓库这是WebRTC系列文章的第四篇。这次我们来对之前做的一对一视频通话和有文字聊天功能的项目添加文件共享功能…

RabbitMQ外部程序发送消息无法入队而控制台发布消息可以入队问题解析 内存阈值和磁盘阈值

RabbitMQ外部程序发送消息无法入队而控制台发布消息可以入队问题解析问题描述故障表现解决方案docker环境下指定内存阈值禁用所有的发布禁用内存流控磁盘空间阈值问题描述 在使用RabbitMQ过程中发现消息都不入队了,程序把消息发过去队列接不到,而且有些时…

MongoTemplate 并列条件查询和数组字段追加操作

MongoTemplate 并列条件查询和数组字段追加操作前言Demo环境一、MongoTemplate一个提醒二、使用步骤1.引入库2.连接MongoDB集群3.1.并列查询document的pojo同时 and or 查询映射的查询语句3.2.数组字段的追加操作映射的语句总结前言 这里我们使用MongoTemplate来完成并列的an…

java 时区 mysql 时区:时区在程序和数据库中的作用及其机制

时区在程序和数据库中的作用及其机制时区(Time Zone)GMT(格林尼治标准时间/世界时)UTC(协调世界时)GMT与UTC关于北京时间CST(时区缩写)DST(夏时制)unix时间戳…

Java对象校验框架之Oval

编写登录 注册等功能的时候后台经行校验,可以使用oval框架,简单实用 package com.meadin.main.request; import com.meadin.module.base.BaseRequest; import net.sf.oval.constraint.Length; import net.sf.oval.constraint.NotEmpty; import net.sf.oval.constraint.NotNull…

SpringBoot优雅停服 java web tomcat web项目关闭过程概览

SpringBoot web项目优雅停服测试结果结论码代码下面是各个命令下的关闭过程kill -9kill -2kill -15actuator/shutdown 关闭过程和使用SpringBoot shutdown: graceful 优雅停服 停服过程及使用tomcat/bin/shutdown.sh我对优雅停服的要求是: 客户端已经进入的接口访问…

mysql 在select查询语句中使用临时变量累计求和 ; 相同列值的记录中再根据条件取其中最大或最新一条;mysql经纬度求距离并排序

mysql 使用临时变量累计求和 求同存异使用临时变量累计求和我们用的示例表码代码查询结果相同的ID,取最大或者最小的那个 (相同列值的记录中再根据条件取其中最大或最新一条)示例用的表码代码查询结果case when经纬度求距离并排序公式1公式2使…

Matlab中矩阵的分解

1、常见的分解方法 (1)三角分解(LU分解) (2)正交分解(QR) (3)特征值分解(eig分解) (4)奇异值分解&#xf…