当前位置:   article > 正文

基于内网的Jenkins整合gitlab综合方案简记_jenkins内网能部署吗

jenkins内网能部署吗

前言

某些企业因为安全等原因所以无法连接外网,但又希望团队能够做到CI&CD,所以今天这篇文章笔者就来演示一下如何基于内网部署一套基于nexus+maven+Jenkins+gitlab实现Jenkins自动化部署落地方案。
本文算是对于CI&CD一个综合部署方案的总结,如果希望详细了解这其中每一个技术点的读者可以参考笔者写的这几篇文章,仔细阅读可以对后续文章很多细节有深入的了解:

基于NETAPP实现内网穿透

基于Gitee实现Jenkins自动化部署SpringBoot项目

Jenkins离线安装部署教程简记

基于Nexus搭建Maven私服基础入门

基于自动化脚本批量上传依赖到nexus内网私服

内网服务器部署maven私服简记

注意本文自动化部署部署方案仅仅针对Java后端项目,并没有提及前端的部署教程,所以有需要前端自动化部署的用户还需自行到网上查阅相关方案。

预期效果

首先我们打开IDEA修改一下代码,完成后点击push将代码提交。

在这里插入图片描述

随着代码提交可以看到Jenkins自动触发了。

在这里插入图片描述

我们点开控制台查看一下日志。可以看到本次拉取和打包的分支都是最新的分支,待Jenkins部署完成之后,我们运行系统就会看到系统的变化了。

在这里插入图片描述

配置步骤

注意事项

由于内网部署的情况基本是针对公司服务器的,所以建议读者在正式在服务器上部署前,根据企业服务器的型号找到对应的镜像到虚拟机中模拟安装一遍,确保整个流程无误之后,再到正式服务器中进行安装部署,从而避免一些没必要的问题。

配置nexus私服

这一步就不多赘述了,笔者上文已经提到了相关的文章,读者可以按照这三篇文章的指导完成纯内网的部署。

基于Nexus搭建Maven私服基础入门

基于自动化脚本批量上传依赖到nexus内网私服

内网服务器部署maven私服简记

准备maven

关于内网的maven安装教程可以参考笔者的这篇文章。

Linux环境下maven的安装

补充,可能很多读者的内网环境中有很多jdk版本,导致maven可能无法正常运行,如果希望maven能够基于指定jdk运行且不改变环境变量的话,我们建议编辑maven的mvn文件

 vim maven-3.5.4/bin/mvn
  • 1

如下图所示,手动加入export JAVA_HOME=/home/lmode/jdk1.8.0_211/指定jdk版本

在这里插入图片描述

准备git

关于git的内网安装步骤也可以参考笔者的写的这篇文章

Linux下环境下Git环境安装与ssh配置简记

git内网安全认证问题修复(非必须)

在拉取项目过程中可能会出现“fatal: unable to access ‘https://…git/’: SSL certificate problem: self [signed](https://so.csdn.net/so/search?q=signed&spm=1001.2101.3001.7020) certificate in certificate chain的问题,查阅网上资料,该错误原因是:公司bitbucket只支持https地址,所以client需要配置忽略https证书检验绕过这一步。

所以在正式配置Jenkins的item前,我们可以在服务器上键入如下命令

git config --global http.sslVerify false

  • 1
  • 2

详情可以参考文章:git clone报错——SSL certificate problem: self signed certificate in certificate chain_git self signed certificate in certificate chain_anniewhite的博客-CSDN博客

注意:配置这个git选项的用户一定要和Jenkins启动用户一致,否则可能导致你配置用户a的避免校验设置,而Jenkins用b用户的git环境依然导致上述问题。

在这里插入图片描述

上传Jenkins以及插件

针对内网安装,我们必须确保自己手头有相关的下载资源,读者可以参考笔者这篇文章准备好完整的离线资源。

Jenkins离线安装部署教程简记

准备就绪之后,我们将资源上传自服务器。以笔者为例在服务器上创建一个名为Jenkins_home的目录。

在这里插入图片描述

然后将插件的文件夹plugins和war包都扔到该目录下。

在这里插入图片描述

对应的war也放到这个目录,便于管理。

在这里插入图片描述

完成之后,我们就可以将Jenkins启动和配置了,关于启动和具体配置步骤可以参考笔者的这篇文章

基于Gitee实现Jenkins自动化部署SpringBoot项目

如果有时间的读者建议全篇阅读,如果希望尽快完成初始化配置可直接从启动Jenkins开始按步骤进行配置。

在这里插入图片描述

更进一步,CI&CD

读者按照上述的步骤正常情况下是可以完成基于Jenkins完成构建和打包的过程,接下来我们希望能够实现自动化,即只要我们提交代码,就会触发Jenkins的构建,从而完成CI&CD。

大部分公司项目都是放在内网的gitlab中,所以我们这里需要通过对gitlab和Jenkins做一些配置从而实现持续集成和持续部署。

配置Jenkins

首先我们找到Jenkins,点击配置。

在这里插入图片描述

找到构建触发器,勾选下图所示选项,并将url的值复制下来,后续配置gitlab会用到(注意,图中可以看到很多地方打勾,其实都是默认的,读者无需关注,按照默认的勾即可)。

在这里插入图片描述

点击勾选后往下滑一点可以看到一个高级的按钮,我们点击一下。

在这里插入图片描述

同样的会有一个生成token的选项,我们点击生成得到一个token串,同样将其复制保存下来,后续配置gitlab会用到。

在这里插入图片描述

注意这里配置完成之后建议重启一下Jenkins,否则可能出现配置不生效的情况。

配置gitlab

找到对应的项目找到其webhooks设置一项,将上文中得到的url和token粘贴上去。

在这里插入图片描述

完成后到下方点击add保存生效。

在这里插入图片描述

然后再次点击webhooks我们就会看到这样一个选项,我们点击测试查看配置是否成功。

在这里插入图片描述

如果页面的上方出现这样一个弹窗就说明我们的配置生效了,gitlab可以成功触发Jenkins构建。自此我们只要提交代码就可以触发Jenkins构建了。

在这里插入图片描述

参考文献

Jenkins mvn 跳过编译测试的问题记录

gitlab+jenkins完美结合实现自动构建!!!

Jenkins + gitlab 自动部署

配置 Jenkins 自动拉取 gitlab 中的代码并部署

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/206842
推荐阅读
相关标签
  

闽ICP备14008679号