Centos7实现基于Jenkins和GitLab的持续集成与部署maven项目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7实现基于Jenkins和GitLab的持续集成与部署maven项目相关的知识,希望对你有一定的参考价值。
CI/CD
持续集成(Continuous Integration,CI)是一种软件开发实践。在持续集成环节中,开发人员每人每天至少集成一次他们的开发成果。每次集成后会经过自动构建(包括静态扫描、安全扫描、自动测试等过程)的检验,以发现开发中的错误。这样做可以加快开发软件的速度和提升开发软件的效率
持续交付(Continuous Delivery)是指持续将开发好的软件新版本交付给质量团队或者用户进行评审,若评审通过了,代码即可进入生产阶段
持续部署(Continuous Deployment)是完成持续交付后的下一步,指的是开发的软件新版本通过评审以后,可以实现自动部署到生产环境中
高并发构建
使用Jenkins+Ansible可以简化配置管理操作,可实现在多台主机上对项目进行自动的部署
前期准备
准备三台Centos7虚拟机,设置IP地址和hostname,关闭防火墙和selinux,同步时间,修改IP地址和hostname的映射关系
hostname | ip | 部署项目 |
---|---|---|
master | 192.168.29.132 | jenkins |
bak | 192.168.29.138 | 被部署机器 |
gitlab | 192.168.29.140 | GitLab |
详细Jenkins和GitLab部署方法可参考:https://blog.51cto.com/14832653/2501394
部署ansible
部署方法可参考:https://blog.51cto.com/14832653/2500736
部署tomcat
部署方法可参考:https://blog.51cto.com/14832653/2503233
部署maven
#从官网下载二进制压缩包
#解压
[root@master ~]# tar -zxvf apache-maven-3.6.3-bin.tar.gz
[root@master ~]# mv apache-maven-3.6.3-bin.tar.gz /usr/local/maven
GitLab新建简易项目
其中index.jsp为tomcat的首页,把其中的nav-home标签改为Home-Jenkins-Test
配置Jenkins
安装maven插件
配置SSH设置
配置bak机器的SSH公钥,Test查看是否成功连接,能成功连接就保存SSH设置
新建项目
配置项目
配置项目成功构建后使用ansible把项目部署到bak主机上
配置pom.xml文件
#不进行配置会报错
#需要按部署项目的要求自行进行配置
[root@master ~] vi /var/lib/jenkins/workspace/project_maven/pom.xml
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>myTest</groupId>
<artifactId>myTest</artifactId>
<version>1.0.0</version>
<packaging>war</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<webResources>
<resource>
<directory>/var/lib/jenkins/workspace/project_maven/web</directory>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
</project>
测试验证
运行项目
查看运行结果
#已成功部署到bak主机上
[root@bak ~]# ls /usr/local/tomcat-7-8888/webapps/
docs examples host-manager manager myTest-1.0.0 myTest-1.0.0.war ROOT
访问项目
以上是关于Centos7实现基于Jenkins和GitLab的持续集成与部署maven项目的主要内容,如果未能解决你的问题,请参考以下文章
centos7.9环境基于docker和pipeline构建jenkins的ci平台
centos7.9环境基于docker和pipeline构建jenkins的ci平台
CentOS7 安装配置 jenkins 及 自动从gitlab上拉取代码自动打包并发布到远程tomcat服务器