Jenkins+gitlab 自动化构建部署maven项目

Posted 测试baby

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins+gitlab 自动化构建部署maven项目相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

1 安装gitlab

环境准备:2g以上内存的服务器(我个人是用电脑开的虚拟机,centos 7 64 位)

如果该台服务器上已经安装过gitlab,如果需要重新装,请卸载之前的gitlab。

完全卸载gitlab的方法如下:

首先查看gitlab的进程,如果有gitlab的进程,说明该服务器上之前安装过gitlab,这时我们想要重新安装gitlab,首先需要将gitlab进行完全的卸载。

ps aux | grep gitlab

以下是gitlab的卸载流程:

停止gitlab

gitlab-ctl stop

卸载gitlab

rpm -e gitlab-ce

查看gitlab进程

ps aux | grep gitlab

在这里插入图片描述

可能会出现很多进程,如上图所示,我们需要将第一个进程给kill掉

kill -9 进程号

杀掉第一个进程(就是带有好多…的进程)。杀掉后,在ps aux | grep gitlab确认一遍,还有没有gitlab的进程。若还存在,可以把它的主要组件的进程也杀一边。(日志的进程不用管)

删除所有包含gitlab文件

find / -name gitlab | xargs rm -rf

当然若你没有全杀权限。那么可以可以把这三个目录给干掉也可以:

rm -rf /opt/gitlab

rm -rf /etc/gitlab

rm -rf /var/log/gitlab

以上就是完全卸载gitlab的教程。接下来开始安装gitlab。

安装镜像文件准备:gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm(附下载链接:gitlab资源下载链接)见公众号:伤心的辣条

将下载好的资源文件上传到服务器上,并且开始安装gitlab

进入gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm所在的文件夹执行以下命令

rpm -i gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm

在这里插入图片描述

出现以上截图,证明安装成功!

安装成功后需要对gitlab进行相关配置的修改!

2 配置gitlab

修改gitlab的ip与端口号,使用如下命令:

vi /etc/gitlab/gitlab.rb

在这里插入图片描述

然后退出编辑模式,保存退出!

修改完后需要重新加载配置文件

gitlab-ctl reconfigure

重新加载配置文件需要的时间可能较长,耐心等待!

加载完毕后,需要重新启动gitlab

gitlab-ctl restart

3 访问gitlab

通过刚配置的ip+端口号进行访问

注意:这里可能无法访问,这时候我们需要将我们设定的端口号开放并且重启防火墙

firewall-cmd --add-port=9000/tcp --zone=public–permanent

firewall-cmd –reload

这时候就可以正常访问gitlab了!

第一次访问gitlab需要更改密码,跟着提示完成密码的更改,然后登录gitlab。

在这里插入图片描述

随后我们新建一个项目工程。

新建完毕后我们需要去配置ssh key 进行连接gitlab。

打开本地git bash,使用如下命令生成ssh公钥和私钥对

ssh-keygen -t rsa -C 'xxx@xxx.com’

然后一路回车(-C 参数是你的邮箱地址)

在这里插入图片描述

然后去自己本地文件夹下(C:\\Users\\Administrator.ssh)我的生成的密钥在这里。

如下图所示,讲公钥里面的内容复制到剪切板中

在这里插入图片描述

打开gitlab,选择SSH Keys 将刚复制出来的key粘贴进keys里面,定义一个名称,点击Add Key

即完成ssh key的设置

在这里插入图片描述

以上gitlab基本配置完成!

安装jenkins

安装jenkins的前提准备

我们需要安装JDK、tomcat、maven

由于jdk、tomcat、maven的安装挺简单的,这里不再展示安装教程。

假设我们jdk、tomcat、maven都已经安装完成了。接下来我们需要配置环境变量

使用这个命令进行编辑环境变量

vi /etc/profile.d/jenkins_tools.sh

将下列内容粘贴到jebkins_tools.sh中(根据自己的jdk和maven安装路径进行相应的修改)

#jdk

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

export TIME_STYLE='+%Y/%m/%d %H:%M:%S'

#maven

export MAVEN_HOME=/usr/local/maven/apache-maven-3.3.9

export PATH=${MAVEN_HOME}/bin:$PATH

然后使用命令检测maven、jdk是否安装成功!

java -version

mvn -version

如果能看到jdk、maven的版本号信息,则代表已经安装成功!

准备工作已经完毕,接下来开始安装jenkins了!

导入镜像:sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo--2019-12-24 17:59:44--  https://pkg.jenkins.io/redhat-stable/jenkins.repo
导入公钥:sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
安装jenkins:  yum install jenkins

在这里插入图片描述

出现以上截图,代表jenkins已经安装完成!

修改配置文件: vi /etc/sysconfig/jenkins

修改 jenkins 的端口号,端口号自己定义,只要不冲突就行!

在这里插入图片描述

修改完毕后,开启启动jenkins。

启动jenkins:systemctl start jenkins

这时候通过 ip+端口号访问jenkins

注意:这里有可能访问不了,可能是端口号没有开放,端口开放参考上面的gitlab的端口开放!

在这里插入图片描述

一开始会有一些插件的安装,我就选择推荐的插件,然后等待安装完成即可!

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

在这里插入图片描述

jenkins配置
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

完成上述配置后,保存即可!

全局属性配置

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

构建一个maven工程

在这里插入图片描述

在这里插入图片描述

完毕后开始进行工程配置

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

将上面的id_rsa文件里面的内容复制到key里面,这三个文件我是通过git bash ,将gitlab上的项目clone下来后,通过生成命令生成密钥,其中id_rsa是密钥,rd_rsa.pub是公钥,公钥用于在gitlab上的配置。

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

在这里插入图片描述

WAR/EAR files:输入war包的相对路径,如我的war包在新建目录的target下

context path:输入部署tomcat的名称,就部署在webapps下的目录名

add container:增加容器,一般选tomcat8X就可以。这里的username与password需要到tomcat的conf文件夹中的tomcat-users.xml修改。tomcat

URL就是你希望把war包部署到的tomcat所在IP地址。

tomcat-users.xml中的用户名及密码默认是注释掉的,所以需要修改,也可以直接复制以下代码到之前。

<role rolename="tomcat"/> 

<role rolename="role1"/> 

<role rolename="manager-gui" /> 

<role rolename="manager-script" /> 

<role rolename="manager-status" /> 

<user username="tomcat" password="tomcat" roles="tomcat"/> 

<user username="both" password="tomcat" roles="tomcat,role1"/> 

<user username="role1" password="tomcat" roles="role1"/> 

<user username="deploy" password="tomcat" roles="manager-gui,manager-script,manager-status" />

然后到tomcat下面webapps/manager/META-INF/context.xml 注销掉红色部分。因为默认tomcat不可以通过外部ip访问管理界面。一定要启动Tomcat,不然等构建等时候会报拒绝连接

 <Context antiResourceLocking="false" privileged="true" > 

<!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"         allow="127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1" />--> 

<Manager sessionAttributeValueClassNameFilter="java\\.lang\\.(?:Boolean|Integer|Long|Number|String)|org\\.apache\\.catalina\\.filters\\.CsrfPreventionFilter\\$LruCache(?:\\$1)?|java\\.util\\.(?:Linked)?HashMap"/></Context>

关于gitlab的配置

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

在这里插入图片描述

出现状态为200即为表示成功,如果为404.403状态码,请检查一下url是否正确。

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

在这里插入图片描述

按照以上构建,出现构建成功则可以完成maven项目的部署!

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你

关注我的微信公众号【伤心的辣条】免费获取~

送上一句话:

世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。

我的学习交流群:902061117 群里有技术大牛一起交流分享~

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

好文推荐:

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

测试岗反复跳槽,跳着跳着就跳没了…

软件测试人员该学习 Python 的七个理由

App公共测试用例梳理

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

35岁之后软件测试工程师靠什么养家?我能继续做测试!

以上是关于Jenkins+gitlab 自动化构建部署maven项目的主要内容,如果未能解决你的问题,请参考以下文章

搭建Jenkins,Gitlab自动化打包部署项目

gitlab+jenkins自动化上线部署持续集成

Docker+Harbor+Jenkins+Gitlab自动化CICD构建

Jenkins+gitlab 自动化构建部署maven项目

SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战

SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战