Jenkins + Gitlab 自动化构建部署 (完整详细版)

通过配置 GitLab 自动触发项目自动化构建与部署 本文详细介绍了如何基于Docker快速搭建Jenkins+GitLab自动化构建环境,并配置国内镜像加速。主要内容包括:1)环境准备,配置Docker国内镜像源,部署中文版GitLab和Jenkins容器;2)Jenkins初始化配置,安装Git、GitLab插件,设置GitLab API令牌凭据,创建Maven项目并配置构建触发器;3)GitLab项目配置Webhook实现代码推送自动触发Jenkins构建;4)测试验证,通过SpringBoot示例项目演示代码提交、自动构建和部署全流程。 阅读详情
AI摘要

本文详细介绍了如何在CentOS7.9环境下手动配置JDK、Maven和Jenkins,并利用Docker搭建Gitlab服务器。接着,演示了在Jenkins中配置Maven插件、新建自动化部署任务,包括设置源码管理、构建配置和shell脚本,以实现项目的自动化部署。最后,文章展示了构建和访问项目成功的步骤,为Linux环境下的持续集成提供了完整的实践指南。

前言

环境清单:CentOS7.9

Linux环境下安装JDK(完整详细版)

Linux搭建Maven仓库(完整详细版)

linux 安装Jenkins和配置(完整详细版)

Docker 搭建 Gitlab 服务器 (完整详细版)

 全局工具配置

1. 配置JDK: 取消自动安装,在环境中已经安装,使用echo$JAVA_HOME 获取jdk安装路径,将路径复制到JAVA_HOME文本框

# 查询JAVA_HOME
echo $JAVA_HOME

 2. 配置Maven: 取消自动安装,在环境中已经安装,使用echo$MAVEN_HOME 获取jdk安装路径,将路径复制到JAVA_HOME文本框

3.配置Git,whereis git查看git安装地址

# 查看git地址
whereis git 

 安装Maven插件

点击系统管理–插件管理

 新建任务,自动化部署

 1. 回到首页,点New 任务,构建一个Maven项目,即是刚刚为啥选择maven构建的插件的原因。

 2. 点击确定,回到首页查看

点击项目 --> 点击配置 

3.源码管理(配置git仓库地址,Jenkins会从远程仓库拉取代码)

 4.构建配置(Jenkin拉取代码后会自动执行打包命令)

5.配置shell脚本(Jenkins打包完成后,自动执行shell脚本启动项目,实现自动化部署),最后保存即可

附shell脚本:

#!/bin/bash
# #!/bin/bash是指此脚本使用/bin/bash来解释执行。其中,#!是一个特殊的表示符,其后,跟着解释此脚本的shell路径。bash只是shell的一种,还有很多其它shell,如:sh,csh,ksh,tcsh,...
# #!/bin/bash只能放在第一行,如果后面还有#!,那么只能看成是注释。

#服务名称

SERVER_NAME=SpringBoot_AutotTest

#源jar路径,mm打包完成之后,target目录下的jar包名称,也可选择成为war包,war包 可移动到Tomcat的。
JAR_NAME=demo-0.0.1-SNAPSHOT


#target打包生成jar包的目录

JAR_PATH=/var/lib/jenkins/workspace/测试项目/target    # 以具体的打包位置为准,可以先构建一次项目,通过日志查看打包的目录

#打包完成之后,把iar包移动到运行jar包的目录
JAR_WORK_PATH=/var/lib/jenkins/workspace/测试项目/target

echo "查询进程id-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo"得到进程ID: $PID"
echo"结束进程"
for id in $PID
do
kill -9 $id
echo "killed $id" 
done
echo"结束进程完成"

#复制jar包到执行目录_

echo" 复制jar包到执行目录:cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo"复 制jar包完成"
cd $JAR_WORK_PATH
#修改文件权限
chmod 755 $JAR_NAME.jar

#前台启动
#java -jar $JAR_NAME.jar

#后台启动
BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar &

 选择构建历史,查看工作路径

 检查结果

控制台输出成功!!!

 访问项目成功!!!

 

 

 

 

 

 

Git+Jenkins自动化部署 Git+Jenkins自动化部署 在只有内网的环境中,如果要使用Git管理代码,需要在本地机器上搭建一个Git服务器用于管理代码。 一.搭建Git服务器 需要下载以下内容: 1.java JDK 下载地址:https://www.oracle.com/java/technologies/javase-downloads.html 关于java JDK怎么安装,这里就不详细讲了,基本上就是下载完以后,下一步下一步 2.gitblit 下载地址:http://www.gitblit.com/ 我们是要在win 阅读详情

相关推荐

gitlab+Jenkins自动化搭建部署

查看Jenkins启动状态是这种时候,表示Jenkins正在启动中,比较慢。私钥id_rsa 公钥 id_rsa.pub 配置在gitlab里。选择下面地址复制到URL下 添加国内插件地址。然后我们的项目构建成功在Jenkins的。华为云下载稳定版或者阿里云下载都可以。添加如下的,然后重启Jenkins。1、添加个项目描述,选择git构建。安装完插件重启Jenkins。2、源码管理URL地址添加。如果出现以下错误的话。.........

qq_15290209的博客 1万+

Gitlab+Jenkins+Docker+Harbor+K8s集群搭建CICD平台

Gitlab+Jenkins+Docker+Harbor+K8s集群搭建CICD平台

FamineFree的博客 6089

gitlab+jenkins自动化部署

搭建jenkins+gitlab自动集成、打包、部署

ALLLiu的博客 1万+

Jenkins + gitlab 自动部署

这里简介和安装就省略了,各位可以自行百度/谷歌学习下,它在我们的自动部署方案里做的重要角色就是打包,发布,部署,通知做为“程序猿”的我们,相信这款工具也不会陌生,代码管理开源项目今天我们介绍了整个jenkins+gitlab的自动部署流程,用了最简单的例子来说明,如果要部署多个服务器,我们也可以在构建的时候添加多个服务器,这里是串行部署的,如果需要并行部署的话我们也可以通过pipeline的parallel ssh_publishers命令执行并行部署;

BUG指挥课堂 5339

GitLab&Jenkins&Harbor部署01:Ubuntu 单机部署 GitLab + Jenkins (Controller)并实现自动化构建完整教程

下面是一份。GitLab 可以理解为“代码仓库”,Jenkins 可以理解为“自动干活的机器人”。最终效果是:你往 GitLab 提交代码,GitLab 自动通知 Jenkins,Jenkins 自动拉代码、构建、测试,并把结果回写到 GitLab。

u013250861的博客 278

全面解析企业级DevOps实践:基于GitLab、Jenkins、Harbor与Docker的CI/CD自动化流程构建

DevOps是一种文化、实践和工具链的组合,旨在通过促进开发和运维团队之间的协作,实现更高效的软件开发、测试、部署和运维。DevOps关注的核心目标是通过自动化、持续集成和持续交付来提高软件交付的频率和质量。通过整合GitLabJenkinsHarbor和Docker,我们实现了一个完整的企业级CI/CD自动化流程。从代码提交、构建、测试、推送到Docker镜像仓库,再到自动化部署到生产环境,整个过程都通过自动化流水线完成。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1283

jenkins自动化部署

如果这时项目也部署到jenkins所在的服务器,势必会导入项目在后期运行时由于资源不够,而导致无法运行。思考:jenkins打包好的项目jar,在自己所在的服务器,而项目运行需要在其他服务器。我们在远程复制时需要输入另一台服务器47的密码。修改idea中的代码并提交到gitee上,会自动触发jenkins -- 拉取 -- 编译 -- 打包。当git仓库更新 jenkins就会自动化拉取 --- 翻译 --- 打包 ---- 部署 ---查看自动拉取 -- 翻译 -- 打包到哪个目录下。

m0_73809543的博客 3607

主动式桥梁防船撞预警系统的方案汇总

本系统以精密光电测高前端(2台,上下游各1台)、固态雷达(2台,上下游各1台)、AIS(1台)、偏航辅助前端(4台,上下游各2台)为核心,通过人工智能,对画面上的船舶目标进行深度学习、精确定位,再用系统集成方法将各设备有机结合在一起,构建成套的桥梁防撞主动预警系统,全天候监控过往船舶。主动式桥梁防船撞预警系统主要船舶监测采集单元、控制单元、船舶超高、偏航信息检测单元、以及视频监控单元组成,,通过声光警示、短信文字、船舶身份识别及海事对讲频道、视频录像取证等多种手段与船舶进行信息互动,主动防止船舶碰撞桥梁!

gdxixun的博客 973

一看就懂!Docker + Jenkins + GitLab + Nginx 整合自动化部署

以下步骤也是我第一次边学习边记录进行,可能会出现前后不对应情况,应该自己也走了几次岔路。 1.安装docker(略) 2.安装nginx(这里用的是非docker版,安装过程略。公司要求~) 3.安装Jenkins 3.1拉取镜像 docker pull jenkins 3.2配置jenkins相关目录,并给予对应的权限 mkdir -p /var/jenkins_home ch...

大誌的博客 2272

ThinkPad T14 Gen 2与T14P系列对比

表格您的需求推荐机型日常办公、出差、文档处理、视频会议✅(够用、轻便、便宜)视频剪辑、3D建模、编程编译、AI训练、高色准设计✅(性能强、屏幕好、扩展佳)想要未来 5 年不换机✅T14p预算低于 5000 元✅T14 Gen 2(或考虑 T14 Gen 3/4)T14p 2025 款 ≠ 小改款,而是架构级升级它从“高性能笔记本”进化为“AI 移动工作站”,核心差异在于NPU + Ultra 平台 + 全面屏显 + 超长续航。如果您从事AI 开发、视频创作、工程仿真、多任务编程。

tecoes的博客 2738

point transformer v3结构

分割结构: embedding->enc->dec embedding->enc0->enc1->enc2->enc3->enc4->dec3->dec2->dec1->dec0 embedding ->block0->block1 ->dow->block0->block1 ->dow->block0->block1 ->dow->block0->block1-&gt

weixin_45625419的博客 581

Linux——Jenkins实战(Gitlab触发、Ansible部署)

Jenkins实战1. 基于Gitlab触发Jenkins- SCM 触发- PUSH 事件触发2. 基于Ansible部署交付任务实验环境git 项目部署准备ansible依赖配置jenkins配置部署环境手动触发jenkins 1. 基于Gitlab触发Jenkins - SCM 触发 server2:gitlab server3:jenkins 启用gitlab,准备demo项目,将jenkins节点的ssh公钥上传至gitlab 进入jenkins,添加Gitlab插件 创建freestyle项目

weixin_45699877的博客 783

鸿蒙【ArkTS】使用TS装饰器封装网络请求HTTP

在HarmonyOS应用开发中,通过HTTP访问网络,可以使用官方提供的@ohos.net.http模块。但是官方提供的直接使用不太好使用,需要封装下才好。这里采用TS的装饰器实现AOP效果 完成前后端接口风格的统一

weixin_60376559的博客 5609

【gitlab+jenkins+docker】第六节 docker容器自动化生成脚本

【gitlab+jenkins+docker】手把手教你搭建基于gitlab+jenkins+docker的项目的自动化部署流程前言python后记 前言 根据上一节介绍,下载我的资源列表里的“gitlab+jenkins+docker自动化部署脚本”并解压至宿主机“/opt”目录下后,又修改了相关IP,由于主要用于模板化的python脚本都做了封装,只接受外来的参数便可以完成相应的动作,所以对于...

Jack_Roy的博客 1万+

Debezium报错处理系列之第112篇:Cannot replicate because the master purged required binary logs. Replicate the

Debezium报错处理系列之第112篇:Cannot replicate because the master purged required binary logs.

zhengzaifeidelushang的博客 726

基于mengzi-t5训练生成式模型

【代码】基于mengzi-t5训练生成式模型。

开卷有益 170

Jenkins+Docker+Gitlab+.Net Core自动化集成部署

Jenkins+Docker+Gitlab+.Net Core自动化集成部署

wu624218376的博客 1253

YOLO26优化:特征融合 | 一种新颖的多尺度特征融合iAFF,适配小目标检测

在YOLO26中如何使用:iAFF加入Neck替代Concat;

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 270

k8s集群部署nfs+gitlab+Jenkins持续集成

1.为什么搭建nfs服务器? 因为我们要使用nfs作为持久化存储,创建的pv后端存储时需要nfs,所以需要搭建nfs服务。 2.安装nfs服务 选择自己的任意一台机器,我选择k8s的master1节点,对应的机器ip是192.168.0.6,在192.168.0.6上执行如下步骤,大家在自己环境找一台k8s节点的机器安装就可以了~ (1) 安装nfs yum install nfs-utils -y systemctl start nfs chkconfig nfs on (2)在master1上创建一个

m0_46168595的博客 2124

ZYNQ 网络通信的四种实现方案

一,ZYNQ MIO以RGMII 接口连接外部PHY芯片实现LWIP网络通信。 二,ZYNQ PS 的 ENET0/ENET1 通过 EMIO 的方式扩展至 PL,在 PL 中通过 RGMII 接口连接扩展子卡实现 LWIP 网络通信。 在PL中搭建了1个AXI 1G/2.5G Ethernet Subsystem以及1个AXI Direct Memory Access IP 核。这两个 IP核均通过AXI 总线经S_AXI_HP0 口与PS 连接,PS 通过AXI 总线对其进行配置和控..

wangjie36的博客 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jenkins配置gitlab实现微服务项目自动部署

jenkins配置gitlab实现微服务项目自动部署 一、jenkin安装采用已有的教程 centos安装jenkins以及初始化配置 二、jenkins插件补充安装 gitlab插件安装 ssh远程部署插件工具安装 scp文件远程传输工具 三、全局配置 1.gitlab配置 在系统管理的系统配置中配置gitlab Connection name: 任意填写 Gitlab host URL: gitlab主机地址(http://url) Credentials: 选择gitlab api token

frankly555的博客 1464

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

K8S+Jenkins+Harbor+Docker+gitlab集群部署

K8S+Jenkins+Harbor+Docker+gitlab集群部署

weixin_43458965的博客 6959

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

DevOps 企业级 CI/CD 实战 —— 整合 GitLab+Jenkins+Harbor+Docker 实现代码全自动化流程管理

本文将以 GitLab+Jenkins+Harbor+Docker 的管理方案为例子,介绍如何通过合理的部署,实现项目全流程的自动化管理。文章将详细介绍 Jenkins 中常用插件的应用以及 pipeline 脚本的编写方式、harbor 服务器的部署、并讲解 Publish Over SSH 插件中 sshPublisher 函数的应用以及常见的问题。

风尘浪子 2730

CI/CD自动化:Jenkins与GitLab高效集成

摘要:本文详细介绍了Jenkins与GitLab协作实现参数化自动化CI/CD流水线的完整方案。从环境配置(包括Jenkins的多种安装方式及关键插件)、GitLab部署密钥设置,到参数化构建(选项参数、分支参数等)与自动化触发方案(GitLab Plugin与Generic WebhookTrigger),再到部署脚本编写与高级回滚机制(Git Revert和软链接切换)。最后通过声明式Pipeline示例展示完整流程,并给出性能优化、安全实践等建议。该方案显著提升软件交付效率,为团队提供可靠的自动化基础

油墨香^-^的博客 1122

DevOps工具链:Jenkins与GitLab应用

Jenkins是一款开源的自动化构建工具,支持多种构建任务,如编译、测试、打包等。GitLab则是一个完整的DevOps生命周期工具,包括源代码管理、CI/CD、项目管理等功能。两者结合,可以实现高效的软件开发和运维流程。本文从多个方面详细阐述了Jenkins与GitLab在DevOps中的应用。通过集成Jenkins与GitLab,可以实现自动化构建、测试、部署等流程,提高开发效率,提升产品质量,加强团队协作。在实际应用中,开发者可以根据项目需求选择合适的工具,实现高效的软件开发和运维。

2501_92489088的博客 924

Jenkins+Gitlab实现Vue项目自动化部署

标题Jenkins+Gitlab实现Vue项目自动化部署 1.Jenkins操作 1.1创建项目 1.1.1新建Jenkins项目,填写项目信息,点击左下方确定 1.2进入配置项 1.2.1 General 书写相关项目描述 1.2.2源码管理 选择Git还是svn进行代码管理 本项目采用Gitlab,选择Git,并且填写凭据信息 输入仓库地址后出现错误 点击Credentials 的下拉选择添加的凭据用户名报错消失 1.2.3构建环境 npm install —>下载工作区npm包

weixin_45351534的博客 1057
上一篇: linux 安装Jenkins和配置(完整详细版)
下一篇: Docker 搭建 Minio 容器 (完整详细版)
Touch&
博客等级 码龄10年 374粉丝 108原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值