jenkins+gitlab参数化构建过程

Jenkins构建CI/CD

什么是CI/CD:持续集成/持续发布—开发(git) -->git主库–>jenkins(git+jdk+tomcat+maven打包+测试)–>发布到tomcat服务器

Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成Jenkins可以用于一些测试和部署技术。Jenkins是一种软件.

官网地址:jenkins.io

为什么要 CI / CD 方法简介

软件开发的连续方法基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性。从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预。

它涉及在每次小迭代中不断构建,测试和部署代码更改,从而减少基于有缺陷或失败的先前版本开发新代码的机会。

这种方法有三种主要方法,每种方法都根据最适合您的策略进行应用。

持续集成(Continuous Integration, CI):  代码合并,构建,部署,测试都在一起,不断地执行这个过程,并对结果反馈。

持续部署(Continuous Deployment, CD): 部署到测试环境、预生产环境/灰度环境、生产环境。

持续交付(Continuous Delivery, CD):  将最终产品发布到生产环境、给用户使用。

一、jenkins介绍

Jenkins是帮我们将代码进行统一的编译打包、还可以放到tomcat容器中进行发布。
我们通过配置,将以前:编译、打包、上传、部署到Tomcat中的过程交由Jenkins,Jenkins通过给定的代码地址URL(代码仓库地址),将代码拉取到其“宿主服务器”(Jenkins的安装位置),进行编译、打包和发布到Tomcat容器中。

1、Jenkins概述
是一个开源的、提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建的一些定时执行的任务。Jenkins用Java语言编写,可在Tomcat等流行的容器中运行,也可独立运行。

jenkins通常与版本管理工具、构建工具结合使用;常用的版本控制工具有SVN、gitlab。jenkins构建工具有Maven、Ant、Gradle。

2、Jenkins目标

① 持续、自动地构建/测试软件项目。

② 监控软件开发流程,快速问题定位及处理,提高开发效率。

3、Jenkins特性
① 开源的java语言开发持续集成工具,支持CI,CD。
② 易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。
③ 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告。
④ 分布式构建:支持Jenkins能够让多台计算机一起构建/测试。
⑤ 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
⑥ 丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,ssh,svn,maven,docker等。

工作流程图:

测试环境中:
1.开发者会将代码上传到版本库中。
2.jenkins通过配置版本库的连接地址,获取到源代码。
3.jenkins获取到源代码之后通过参数化构建(或者触发器)开始编译打包。
4.jenkins通过调用maven(Ant或者Gradle)命令实现编译打包过程。
5.生成的war包通过ssh插件上传到远程tomcat服务器中通过shell脚本自动发布项目。

生产环境:
测试环境将项目测试没问题后,将项目推送到线上正式环境。
1.可以选择手动。
2.也可以通过调用脚本推送过去。
4、产品发布流程

产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线

持续集成(Continuous integration,简称CI)

持续部署(continuous deployment)

持续交付(Continuous delivery)

二、部署应用Jenkins+Github+Tomcat实战

准备环境:

两台机器

git-server    ----https://github.com/bingyue/easy-springmvc-maven

jenkins-server    —192.168.246.212—最好是3个G以上

java-server   -----192.168.246.210

https://github.com/bingyue/easy-springmvc-maven

Jenkins2.303.1版本安装

Yum安装

1.配置 Jenkins的yum源
# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
# rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
· rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
# yum install epel-release java-11-openjdk-devel -y
# yum install jenkins -y
# systemctl daemon-reload
2.启动Jenkins
# systemctl start jenkins
# systemctl status jenkins
[root@jenkins yum.repos.d]# tail -f /var/log/jenkins/jenkins.log

3.访问登录

当您第一次访问一个新的 Jenkins 实例时,系统会要求您使用自动生成的密码将其解锁

1.浏览到http://localhost:8080(或您在安装时为 Jenkins 配置的任何端口)并等待解锁 Jenkins页面出现

2.从 Jenkins 控制台日志输出中,复制自动生成的字母数字密码(在 2 组星号之间)。

3.使用插件自定义 Jenkins  或者  推荐安装插件,荐安装插件。。。

4.创建第一个管理员用户

War包安装

1.下载安装包

百度搜索openjdk11、tomcat、maven、jenkins

[root@jenkins ~]# wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz
[root@jenkins ~]# wget https://get.jenkins.io/war/2.303/jenkins.war --no-check-certificate
[root@jenkins ~]# wget https://downloads.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
[root@jenkins ~]# wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.87/bin/apache-tomcat-8.5.87.tar.gz --no-check-certificate
还有openjdk11
[root@jenkins ~]# cd /usr/local
[root@jenkins local]# tar -xvzf apache-maven-3.8.2-bin.tar.gz
[root@jenkins local]# tar -xvzf apache-tomcat-8.5.70.tar.gz
[root@jenkins local]# tar -xvzf openjdk-11+28_linux-x64_bin.tar.gz
[root@jenkins local]# mv jdk-11/ java
[root@jenkins local]# mv apache-tomcat-8.5.70 tomcat
[root@jenkins local]# rm -rf tomcat/webapps/*
[root@jenkins local]# mv apache-maven-3.8.2 java/maven
[root@jenkins ~]# cp jenkins.war  /usr/local/tomcat/webapps/
2.配置环境变量
[root@jenkins ~]# vim /etc/profile
JAVA_HOME=/usr/local/java
MAVEN_HOME=/usr/local/java/maven
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值