U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 帮助中心 >

GitLab集成Jenkins进行项目构建、发布

来源:http://www.tudoupe.com时间:2022-01-28

GitLab集成Jenkins

  • 1. 前置环境准备
    • GitLab部署
    • Jenkins部署
    • Git Linux环境部署
    • Maven Linux环境部署
  • 2. JenKins项目构建、发布配置
      • Jenkins系统配置
      • 构建Maven项目
      • 可能遇到的问题

1. 前置环境准备

GitLab、Jenkins集成,进行项目构建、完成自动部署, Jenkins需要借助Git拉取GitLab仓库代码,借助Maven进行项目构建。因此需要在Jenkins部署的服务器,同时部署Git,Maven两个工具。

  • GitLab部署

    GitLab-Linux环境部署

  • Jenkins部署

    Jenkins-Linux环境部署

  • Git Linux环境部署

    下载Git压缩包,下载地址:https://mirrors.edge.kernel.org/pub/software/scm/git/
    上传至内网服务器
    安装编译源码所需依赖,命令为: yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker 耐心等待安装,出现提示输入y即可;
    安装依赖时,yum自动安装了Git,需要卸载旧版本Git,命令为: yum remove git 出现提示输入y即可;
    进入解压后的文件夹,命令 cd git-2.17.0 ,然后执行编译,命令为 make prefix=/usr/local/git all 耐心等待编译即可;
    安装Git至/usr/local/git路径,命令为 make prefix=/usr/local/git install ;
    vim /etc/profile 修改环境变量export PATH=/usr/local/git/bin:$PATH
    刷新配置文件source /etc/profile

  • Maven Linux环境部署

    官网下载MAVEN包,解压配置settings文件,
    配置环境变量,source /etc/profile生效。
    Jenkins Global tool configuration配置maven,外网可自动安装,内网配置maven_home地址,使Jenkins发现maven,
    在这里插入图片描述

2. JenKins项目构建、发布配置

  • Jenkins系统配置

    配置SSH Servers,点开高级设置,配置勾选使用密码验证,输入服务器root账号的密码,SSH Token通讯坑得一匹,弃用。配置完成后点击测试,能连上就行。
    在这里插入图片描述

  • 构建Maven项目

    项目来源选择Git,选择指定构建的分支,通讯的凭证,在设置>>凭据管理中新增,选择用户名密码模式。同样不使用SSH Token通讯
    在这里插入图片描述

在这里插入图片描述
提交步骤选择Send files or Execute commands over SSH : 构建成功后发送文件,并且执行脚本
Source files为Jenkins构建成功后的目标文件,相对于Jenkins workspace路径的全路径
Remove prefix : Source files jar文件名前面的所有路径
Remote directory :传输jar包的目标地址,(发布服务器发布路径)
在这里插入图片描述
配置启动脚本
在这里插入图片描述
以上步骤,配置完成后,项目的配置就Over了,立即构建,构建完成后,查看构建的jar包是否传送到了指定服务器的位置。

  • 可能遇到的问题

    jar上传至发布服务器后,shell脚本启动服务时,启动不了。
    Maven项目构建时,所有步骤全部返回SUCCESS,但是目标服务器的服务并未启动(蛋疼的问题)

    1、 脚本问题,Jenkins配置的Shell脚本,为伪命令,是不包含环境变量等配置变量的,要么全部配置绝对地址,要么在头部加上source /etc/profile先加载资源
    2、 Jenkins在执行脚本时,执行完毕后会自动结束所有衍生线程,在启动完目标服务,结束时,Jenkins没有区分是否是衍生线程,直接全部给kill掉了。在脚本头部加上,BUILD_ID=DONTKILLME,告诉Jenkins别杀,然后jenkins启动脚本加上 -Dhusonxxxx
    命令:java –Dhudson.util.ProcessTree.disable=ture –jar xxx 开启
    3、 目标服务启动中,还未完全启动,Jenkins这边的启动脚本走完了,(Jenkins不会等待脚本内执行的内容执行完)然后Jenkins退出了,目标服务会启动失败,在nohup启动脚本后面加sleep(足够启动的时间),等服务启动成功了再退出
    总结: 这的问题可以理解为应用程序启动成功了,但是Jenkins脚本执行结束后,退出的时候,杀衍生线程把启动的项目也杀了。或者还没启动成功,jenkins脚本执行程序退出了,远程服务器以为服务不启了,就杀了

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息