jenkings
官网 :https://www.jenkins.io
jenkings是基于tomcat平台部署的
#:CICD核心概念是 持续集成、持续交付、持续部署。可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。这些关联的事务通常被统称为 CI/CD 管道,由开发和运维团队以敏捷方式协同支持
#:CI持续集成
目前协同开发是主流的开发方式,也就是可以由多名开发人员同时kaifa同一个应用的不同模块或者功能。
但是,如果企业计划在同一天,将所有开发分支代码集成在一起,因为代码冲突是难以避免的。所以最终可能会花费很多时间和进行很多重复劳动,费事费力。
如果开发人员本地的环境和线上不一致的话,那么这个问题就更加复杂了。
持续集成(CI)可以帮助开发者更加方便地将代码更改整合到主分支。
一旦开发人员将改动的代码合并到主分支,系统就会通过自动构建应用,并运行不同级别的自动化测试(通常是单元测试和集成测试)来验证这些更改,确保这些更改没有对应用造成破坏。
如果自动化测试发现新代码和现有代码之间存在冲突,持续集成CI 可以更加轻松地快速修复这些错误。
#:CD持续交付
CI 在完成了构建、单元测试和集成测试这些自动化流程后,持续交付可以自动把已验证的代码发布到企业自己的存储库。
持续交付的作用就是建立一个可随时将开发环境的功能部署到生产环境的代码库。
在持续交付过程中,每个步骤都涉及到了测试自动化和代码发布自动化。
当所有流程结束后,运维团队可以更加快速、轻松地将应用部署到生产环境中。
#:CD持续部署
作为一个完整、成熟的CI/CD管道来说,最后阶段就是持续部署,作为持续交付的延伸,持续部署可以将应用发布到生产环境。
实际上,持续部署意味着开发人员对应用的改动,在编写完成后的几分钟内就能及时生效(前提是它通过了自动化测试)。这更加便于运营团队持续接收和整合用户反馈。
总而言之,所有这些 CI/CD 的关联步骤,都极大地降低了应用的部署风险。
不过,由于还需要编写自动化测试以适应 CI/CD 管道中的各种测试和发布阶段,因此前期工作量还是很大的。
#:归根结底,我们没必要纠结于这些语义,您只需记得 CI/CD 其实就是一个流程(通常形象地表述为管道),用于实现应用开发中的高度持续自动化和持续监控。
部署流程
#: 将jenkings的war包上传或者下载到webapps目录下然后重启tomcat
[root@centos8 webapps]# ls
ROOT docs examples host-manager jenkins.war manager word
[root@centos8 webapps]# ../bin/catalina.sh stop
-----------省略输出---------------
[root@centos8 webapps]# ../bin/catalina.sh start
Using CATALINA_BASE: /usr/local/tomcat
Using CATALINA_HOME: /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@centos8 webapps]# ls
ROOT docs examples host-manager jenkins jenkins.war manager word
#安装git
[root@centos8 webapps]# yum -y install git
git 'https://gitee.com/forgotten/tomcat-java-demo.git'
#:打包命令
mvn clean package
网页端访问:
点击之后等待插件自动安装完成出现下图页面
#:到主机端查看是否拉取成功
[root@centos8 .jenkins]# cd
[root@centos8 ~]# cd .jenkins/workspace/pass
[root@centos8 pass]# ls
Dockerfile LICENSE README.md db deploy.yaml jenkinsfile pom.xml src
#:
在web端安装打包插件