一 jenkins介绍 Jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。 提到持续集成免不了谈及Hudson,Hudson是SunMicrosystems 开发的一个非常流行的开源的基于Java 的持续集成工具,后来Sun被Oracle收购,从Hudson 源代码的分支诞生了Jenkins。 jenkins其实就是大的框架集,可以整个任何你想整合的内容,实现公司的整个持续集成体系!如:自动化,性能,打包,部署,发布&发布结果自动化验证,接口测试,单元测试。
二 特点 ——开源的java语言开发持续集成工具,支持CI,CD。 ——易于安装部署配置:可通过yum安装,或下载war包以及通过docker容器等 快速实现安装部署,可方便web界面配置管理。 ——消息通知及测试报告:集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知,生成JUnit/TestNG测试报告。 ——分布式构建:支持Jenkins能够让多台计算机一起构建/测试。 ——文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。 ——丰富的插件支持:支持扩展插件,你可以开发适合自己团队使用的工具,如git,svn,maven,docker等。
三 CI持续集成 什么是持续集成?
软件开发中,集成是一个很可能发生未知错误的过程。持续集成是一种软件开发实践,希望团队中的成员频繁提交代码到代码仓库,且每次提交都能通过自动化测试进行验证,从而使问题尽早暴露和解决。
特点 ——通过自动化测试可以提早拿到回归测试的结果,避免将一些问题提交到交付生产中。 ——发布编译将会更加容易,因为合并之初已经将所有问题都规避了。 减少工作问题切换,研发可以很快获得构建失败的消息,在开始下一——个任务之前就可以很快解决。 测试成本大幅降低,你的CI服务器可以在几秒钟之内运行上百条测试。 ——团队花费在测试上面的时间会大幅缩短,将会更加侧重于质量文化的提升上面
四 CD持续交付
持续交付(CD)通常是指整个流程链(管道),它自动监测源代码变更并通过构建、测试、打包和相关操作运行它们以生成可部署的版本,基本上没有任何人为干预。 持续交付在软件开发过程中的目标是自动化、效率、可靠性、可重复性和质量保障(通过持续测试)。 持续交付包含持续集成(自动检测源代码变更、执行构建过程、运行单元测试以验证变更),持续测试(对代码运行各种测试以保障代码质量),和(可选)持续部署(通过管道发布版本自动提供给用户)
特点 ——发布频率更快,因为你不需要停下来等待发布。每一处提交都会自动触发发布流 ——在小批量发布的时候,风险降低了,发现问题也可以很轻松的修复 客户每天都可以看到我们的持续改进和提升,而不是每个月或者每季度,或者每年
五 持续部署(CD) 持续部署扩展了持续交付,以便软件构建在通过所有测试时自动部署。在这样的流程中, 不需要人为决定何时及如何投入生产环境。CI/CD 系统的最后一步将在构建后的组件/包退出流水线时自动部署。 此类自动部署可以配置为快速向客户分发组件、功能模块或修复补丁,并准确说明当前提供的内容。采用持续部署的组织可以将新功能快速传递给用户,得到用户对于新版本的快速反馈,并且可以迅速处理任何明显的缺陷。 用户对无用或者误解需求的功能的快速反馈有助于团队规划投入,避免将精力集中于不容易产生回报的地方。
六 Jenkins部署
[root@103 ~]
[root@103 ~]
[root@102 ~]
[root@102 ~]
[root@103 ~]
[root@103 local]
[root@103 local]
[root@103 tomcat]
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[root@103 tomcat]
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@103 tomcat]
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 100 *:8080 *:*
LISTEN 0 128 [::]:22 [::]:*
LISTEN 0 1 [::ffff:127.0.0.1]:8005 *:*
访问ip地址加8080
[root@103 tomcat]
docs examples host-manager manager ROOT
[root@103 tomcat]
[root@103 tomcat]
[root@103 tomcat]
[root@103 tomcat]
[root@103 webapps]
ROOT
[root@103 local]
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:
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
[root@103 local]
[root@103 local]
bin etc games include jenkins lib lib64 libexec sbin share src
[root@103 local]
[root@103 jenkins]
bin conf lib logs README.md RUNNING.txt webapps
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE RELEASE-NOTES temp work
[root@103 jenkins]
[root@103 webapps]
[root@103 ROOT]
[root@103 ROOT]
[root@103 webapps]
[root@103 webapps]
jenkins.war ROOT
[root@103 webapps]
Using CATALINA_BASE: /usr/local/jenkins
Using CATALINA_HOME: /usr/local/jenkins
Using CATALINA_TMPDIR: /usr/local/jenkins/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/local/jenkins/bin/bootstrap.jar:/usr/local/jenkins/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@103 webapps]
jenkins jenkins.war ROOT
发布历史 用户视图My Views New view新建视图 错误信息显示 关于jenkins 负载状态 配置菜单 重新加载 命令行 脚本命令行 关闭jenkins 管理用户 用户视图 凭据 拉代码,记录账号和密码就叫凭证 全局安全 不要记住我 ssh 端口指定 插件 插件管理 代理设置 切换站点 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 全局配置 扳手图案 工具配置安装 询问开发打包工具 手动安装需要填写目录路径或自动安装 配置系统 主目录 系统管理员邮箱 使用统计取消勾选 邮箱认证
|