Jenkins + Gitlab 实现项目自动化构建及部署

这篇具有很好参考价值的文章主要介绍了Jenkins + Gitlab 实现项目自动化构建及部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通俗来讲就是本地项目 push 到 gitlab 后, Jenkins 能够识别到项目的更新并自动构建部署;
 本文以实际操作的方式来表述详细配置过程及避开配置 Jenkins 时的坑. 默认电脑已经安装了虚拟机, 默认gitlab 上已经有了你想要部署的项目, 部署了 maven 和 jdk 并配置了环境变量!!!

第一步: 检查环境


1 执行指令 java -version 检查是否已安装了 java 环境:

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

2 执行指令 mvn -v 检查是否已经安装了 maven:

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

3 执行指令 echo $JAVA_HOME 检查 java 环境变量是否已经配置好, 这里的地址后面会用到:
jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

4 执行指令 echo $MAVEN_HOME 检查 maven 环境变量是否已经配置好, 这里的地址后面也会用到:
jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

5 虚拟机也要安装 git, 执行指令 which git 查看位置, 后面会用到;

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

第二步: 下载 jenkins 镜像并部署


1 需要注意如果是 jdk 8 需要下载对应 jdk 8 对应的版本,链接: 🔗下载地址, 提交到虚拟机:

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

2 执行指令 rpm -ivh jenkins-2.346.3-1.1.noarch.rpm 部署 jenkins;

3 执行指令 find / -name jenkins 检查是否已经安装成功:

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

4 配置一下端口号, 指令: vi /usr/lib/systemd/system/jenkins.service, 修改如下:

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化
这里我改成了 8090;

5 重新加载配置文件, 指令: systemctl daemon-reload.

6 启动指令: systemctl start jenkins; 重新启动指令: systemctl restart jenkins; 停止指令: systemctl stop jenkins.

7 启动成功后, 初次登录要输入管理员密码, 指令: cat /var/lib/jenkins/secrets/initialAdminPassword.
jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

第三步: 启动成功后, 配置 jdk / git / maven


jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

1 配置 jdk: 别名可以随便写, JAVA_HOME 就是虚拟机 java 的环境变量, 前面有指令;

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

2 配置 git;

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

3 配置 maven, 地址就是虚拟机 maven 环境变量的地址;

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

第四步: 新建一个 item; 如果你的项目是一个 maven 项目可以如下选择


jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

对项目进行配置:

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

1 建议限制构建项目的缓存记录, 否则构建记录多了后会导致空间不足, 这里我设置的是两天会自动清理缓存, 构建记录不会超过 5 个;

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

2 git 源码管理进行配置:

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

如果报以下错误需要在 url 链接加上您的 gitlab 用户名和密码, 格式为 http://用户名:密码@*******.54:7000/Li/yuan.git

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化
添加 Credentials 证书凭证, 用户名和密码就是 gitlab 的账号和密码;
jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

查看 gitlab 上项目分支, 我的是 main:
jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

3 构建触发器

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

格式:

每天凌晨3:00 跑一次: H 3 * * *
每隔5分钟构建一次: H/5 * * * *
每五小时构建一次: H H/5 * * *
每天中午12点定时构建一次: H 12 * * *
每天下午 17点前 定时构建一次: H 17 * * *
每15分钟构建一次: H/15 * * * *

4 编写执行脚本; 可以当做模板来写, 只不过需要修改以下信息:
jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化
执行脚本如下,方便复制:

#!/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=swaggerdemo1-0.0.1-SNAPSHOT
 
 
#target打包生成jar包的目录
 
JAR_PATH=/var/lib/jenkins/workspace/Yuan/swaggerdemo1/target    # 以具体的打包位置为准,可以先构建一次项目,通过日志查看打包的目录
 
#打包完成之后,把iar包移动到运行jar包的目录
JAR_WORK_PATH=/var/lib/jenkins/workspace/Yuan/swaggerdemo1/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 &

这三处的信息可以查看虚拟机上的信息直接复制过来即可, 操作如下:
jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化
进入到此目录下, 这里的 JAR_NAME 就是 target 目录下包的名称, 如果没有此包的话可以先在虚拟机上跑一下, 这样地址等信息可以直接复制过来, 方便至极!!!
jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化

5 修改 pom 文件; 这个路径就是上面 workspace 中项目中的 pom.xml 文件路径, 直接从虚拟机上拷贝过来路径即可;
jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化
6 配置邮箱通知;
jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化
配置邮箱时可能出现的问题及解决办法:

Default Recipients

  • 通过Manage Jenkins进入Configure System
  • 查看Default Recipients这一栏是否填写了收件人

Project Recipient List

  • 进入具体的Job
  • 查看Post-build Actions里有没有添加Editable Email Notification这个功能
  • 不要勾选Disable Extended Email Publisher这个选项栏
  • 查看Project Recipient List这一栏有没有填写收件人

Recipient List

  • 还是进入Editable Email Notification这一栏
  • 点击进入右下角Advanced Settings…
  • 查看Triggers这一栏有没有设置对应触发条件,比如Failure-Any和Success
  • 默认的Developers不会发送给收件人,需要选择Recipient List.

第五步: 项目跑起来, 可以收到短信通知

jenkins如何构建git项目,Jenkins,jenkins,gitlab,自动化文章来源地址https://www.toymoban.com/news/detail-594272.html

到了这里,关于Jenkins + Gitlab 实现项目自动化构建及部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jenkins+GitLab+Docker搭建前端自动化构建镜像容器部署(无本地证书,映射证书)

    前言 🚀 需提前安装环境及知识点: 1、Docker搭建及基础操作 2、DockerFile文件描述 3、Jenkins搭建及基础点 🚀 目的: 将我们的前端项目打包成一个镜像容器并自动发布部署,可供随时pull访问 1、在当前项目的根目录创建Dockerfile文件并写入如下代码: 代码片段详细描述: 注意

    2024年02月15日
    浏览(37)
  • Jenkins+gitlab实现自动化部署

    Jenkins 是一个用 Java 编写的开源自动化工具,带有用于持续集成的插件。用于持续构建和测试您的软件项目,从而使开发人员更容易将更改集成到项目中,并使用户更容易获得新的构建。它还允许您通过与大量测试和部署技术集成来持续交付软件。 Jenkins 集成了各种开发生命

    2024年02月21日
    浏览(36)
  • K8S + GitLab + Jenkins自动化发布项目实践(二)

    前置工作:已部署5节点k8s集群,并搭建了代码仓库和镜像仓库(GitLab + Harbor)。 主机名 IP 角色 k8s-master1 192.168.124.a k8s控制平面 k8s-master2 192.168.124.b k8s控制平面 k8s-master3 192.168.124.c k8s控制平面 k8s-worker1 192.168.124.d k8s工作节点 k8s-worker2 192.168.124.e k8s工作节点 harborgit 192.168.124.f

    2024年02月03日
    浏览(66)
  • Gitlab + Docker + Jenkins + Harbor实现自动化部署

    目录 文章目录 前言 一、第一台服务器--Jenkins 1、安装前 2、安装Jenkins 3、修改正在跑容器的端口 4、Jenkins内部插件和配置  二、第二台服务器--Harbor 1、安装docker-compose 2.安装及配置 3、卸载Harbor  4、Harbor启动后操作 三、第三台服务器--生产环境  1、配置私服地址 四、Jenkin

    2024年02月14日
    浏览(37)
  • Jenkins自动化构建部署前端项目(Linux+gitee)

    本文讲述了Jenkins自动化构建部署前端项目,内容包括Linux系统安装Jenkins、如何配置构建项目并发布到目标服务器。 因公司系统项目众多,前端项目打包麻烦,项目代码管理混乱,因此需要gitee+Jenkins做自动化构建,优化项目打包流程及代码管理。 本次教程可实现最简单的自动

    2024年02月03日
    浏览(41)
  • 2023全网最细最全保姆级gitlab+Jenkins+maven自动化部署springboot项目教程

    如果没有Linux基础请仔细看好每一个步骤,避免出错,从0到1带你搭建自动化部署环境,包括服务器安装,自动化部署所需各类软件安装配置,详细贴出每一步,不断步骤,让你一次搭建部署完成,希望这篇文章能给大家带来一定的帮助,话不多说开始整 2.0 CentOs安装 2.0.1 下载VM虚拟机 我直

    2024年02月08日
    浏览(42)
  • 实现自动化构建与集成:Jenkins与SVN整合的指南

    在使用Jenkins的时候总是保存很慢,前端报错,错误:Found invalid crumb 。和CSRF验证有关联,有说使用Strict Crumb Issue插件来解决。 第一步:Strict Crumb Issuer插件安装 进入Jenkins插件管理,Available选项,搜索Strict Crumb插件安装Strict Crumb Issuer插件,然后进入jenkins-系统设置-全局

    2024年02月06日
    浏览(28)
  • QT+jenkins window环境实现一键自动化构建打包签名发布

            1.官网下载地址: Jenkins download and deployment,下载最新版本的安装包并安装。安装过程中,会要求你输入端口号并记住。         2.java下载地址:Java Downloads | Oracle,下载最新版本的安装包并安装。         3.浏览器输入网址:127.0.0.1: port, port为端口号,默认8080,安

    2024年02月01日
    浏览(33)
  • 【Jenkins+Gitlab自动化部署配置】

    以下为整理当初参照的博客 阿里云云服务器 ECS 手动搭建GitLab避坑教程 博客文中的镜像源地址已换 Gitlab忘记root用户密码的解决办法 Gitlab学习笔记(一):基于Ubuntu的gitlab的私有服务搭建(超详细) Jenkins 构建报错:Couldn‘t find any revision to build. Verify the repository and branch conf

    2024年02月21日
    浏览(33)
  • Gitlab+Jenkins自动化部署,解放双手

    ​ 在部署项目前需要对源码进行打包,一个简单的SpringBoot项目默认是打包为jar包,也就是在pom.xml中的 packagingjar/packaging 方式,当然也会有一些打包成war包方式,使用外置的Tomcat应用服务器部署war包,那么就是 packagingwar/packaging 。 在父子类聚合项目中,父工程的 pom.xml 文件中

    2024年02月07日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包