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

news/2024/5/20 3:24:39 标签: docker, Jenkins, gradle, spring boot, linux

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

    • 系列文章导读
    • Gitee 相关配置
      • 生成私人令牌
    • 配置Jenkins
      • 安装Gitee插件
      • 安装Gradle插件
    • 配置Gitee连接
      • 配置Gradle
    • 配置Jenkins项目
      • 新的项目
      • 项目configure
        • General
        • Source Code Management
        • 配置WebHook
      • build配置
      • 自动运行脚本
    • 构建项目测试
      • 手动部署项目
      • 提交代码自动构建项目
    • 记得把Web项目的端口在docker run -p 映射出来

在这里插入图片描述

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


系列文章导读

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

Docker环境Jenkins及Gitlab安装集成

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

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


环境版本/说明
公网服务器一台gitee需要post仓库变更所以必须要有公网IP(域名可选)
Docker18.09.6
Jenkins2.235.5 (Docker镜像)
Gradle6.4.1 (后面可以从Jenkins里面自动下载,速度还可以)
gitee账号和一个可以跑的项目仓库 (最好是依赖少一点的)

Gitee 相关配置

生成私人令牌

在这里插入图片描述

在这里插入图片描述

Jenkins_37">配置Jenkins

因为国内访问不了Jenkins plugin网站,这里我们直接从国内镜像网站手动下载。

Jenkins的全局工具一般不会经常变动,没必要的话不建议折腾去修改plugin网站配置。

安装Gitee插件

Jenkins Gitee Plugin

安装Gradle插件

Jenkins Gradle Plugin

两个插件都是一样的安装步骤

在这里插入图片描述

配置Gitee连接

在这里插入图片描述

在这里插入图片描述

获取地址 https://gitee.com/profile/personal_access_tokens

配置Gradle

在这里插入图片描述
Gradle会在build项目的时候自动下载,所以这里只是指定了一下版本。

Jenkins_69">配置Jenkins项目

新的项目

在这里插入图片描述

项目configure

General

在这里插入图片描述

Source Code Management

在这里插入图片描述

配置WebHook

Jenkins_83">Jenkins

在这里插入图片描述

Gitee 仓库配置

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

build配置

在这里插入图片描述

Jenkins在构建完项目之后默认会将带起来的子进程全部杀死。这里我们使用命令将我们的Web项目不被自动清理。

BUILD_ID=DONTKILLME

自动运行脚本

startup.sh文件内容

#!/bin/sh

ps
ps -ef|grep -w 'gs-spring-boot'|grep -v grep|cut -c 1-6 | xargs kill -9
ps

BUILD_ID=DONTKILLME
nohup java -jar build/libs/gs-spring-boot-docker-0.1.0.jar &

Jenkins构建项目时的“当前目录”为项目的根目录,请大家知悉。

我们这里就是
/var/jenkins_home/workspace/Gradle-Docker-Springboot

在这里插入图片描述

构建项目测试

手动部署项目

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

提交代码自动构建项目

往Gitee push代码
在这里插入图片描述

Jenkins hook到代码变更自动构建项目

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

在这里插入图片描述

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

docker_run_p__156">记得把Web项目的端口在docker run -p 映射出来



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

相关文章

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

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

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使…