一、jekins介绍
- 是一个开源的、提供友好操作界面的持续集成(CI)工具,主要用于持续、自动的构建的一些定时执行的任务。Jenkins用Java语言编写,可在Tomcat等流行的容器中运行,也可独立运行。
- 持续、自动地构建/测试软件项目。
- 监控软件开发流程,快速问题定位及处理,提高开发效率。
- jekins特性:
① 开源的java语言开发持续集成工具,支持CI,CD。
② 易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等快速实现安装部署,可方便web界面配置管理。
③ 消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告。
④ 分布式构建:支持Jenkins能够让多台计算机一起构建/测试。
⑤ 文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
⑥ 丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。 - 工作流程图
- 测试环境中:
① 开发者会将代码上传到版本库中。
② jenkins通过配置版本库的连接地址,获取到源代码。
③jenkins获取到源代码之后通过参数化构建(或者触发器)开始编译打包。
④jenkins通过调用maven(Ant或者Gradle)命令实现编译打包过程。
⑤生成的war包通过ssh插件上传到远程tomcat服务器中通过shell脚本自动发布项目。
生产环境:
测试环境将项目测试没问题后,将项目推送到线上正式环境。
① 可以选择手动。
②也可以通过调用脚本推送过去。 - 产品发布流程
产品设计成型 -> 开发人员开发代码 -> 测试人员测试功能 -> 运维人员发布上线
- 持续集成(Continuous integration,简称CI)
- 持续部署(continuous deployment)
- 持续交付(Continuous delivery)
1、 CI(Continuous integration,中文意思是持续集成)是一种软件开发时间。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。借用网络图片对CI加以理解。
2、CD(Continuous Delivery, 中文意思持续交付)是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的Staging环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境。下图反应的是CI/CD 的大概工作模式。
二、安装使用
- 使用docker拉取Jenkins镜像
docker pull jenkins/jenkins:lts
- 启动
docker run -d --name myjenkins -p 8888:8080 jenkins/jenkins:lts-centos7
- 页面登陆,地址:ip:8888
4. 查看登录密码
cat /var/jenkins_home/secrets/initialAdminPassword
5.登录成功
查看密码遇到如下报错解决方式
原因:需要进入到容器内部,输入此命令
docker exec -it myjenkins bash
此处的Jenkins是你启动服务时 --name后接的名称,没进行重命名默认为Jenkins
进入到容器内部后再查看默认密码