持续集成工具之Jenkins安装部署的详细教程_其它综合

来源:脚本之家  责任编辑:小易  

Jenkins 是基于 Java 开发的一种持续2113集成工5261具,所以,Jenkins 需要4102 Java 环境。1653 1.配置java环境 1)下载Java,选择系统所需要的版本。 2)安装Java 3)设置环境变量 “我的电脑”右键菜单–>属性–>高级–>环境变量–>系统变量->新建 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.8.0_32\ 变量名:CALSS_PATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 找到 path 变量名—>“编辑”添加: 变量名:PATH 变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 在 Windows 命令提示符下验证 java 是否成功 C:\Users####>java 用法: java [-options] class [args…] …………. ………… 2.配置Tomcat环境 tomcat 是真对 Java 的一个开源中间件服务器(容器),基于 Java Web 的项目需要借助 tomcat 才能运行起来。1)下载Tomcat选择合适的版本 2)解压此文件,对下载的压缩包进行解压,目录结构如下通常将需要运行有应用放到 webapps/目录下,进入 bin/目录下,双击 startup.bat 来启动 tomcat 服务器。 3.配置Jenkins环境 1)下载Jenkins 2)安装Jenkins next—> 我们直接将其安装到 tomcat 的 webapps\目录下。 D:\apache-tomcat-8.0.32\webapps\jenkins 3)运行Jenkins 进行 tomcat 的 bin/目录下启动 startup.batwww.zgxue.com防采集请勿采集本网。

  一、DevOps理念

方法/步骤 安装jenkins 参照官网wiki,如下图: 安装后的jenkin在/var/lib/jenkins启动关闭jenkins: sudo /etc/init.d/jenkins startsudo /etc/init.d/jenkins stop Jenkins安装完毕后,可以通过浏览器,例如192.168.16.183:8080,此处IP地址为J

  所谓DevOps是指development和Operations的组合,中文意思就是开发和运维的简写。devops理念主要是针对企业中的研发人员、运维人员和测试人员的工作理念,是他们在应用开发、代码部署和质量测试等整条生命周期中协作和沟通的最佳实践DevOps 强调整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成、持续部署和持续交付。传统的模式的开发人员只顾开发程序,运维只负责基础环境管理和代码部署及监控等,其并不是为了一个共同的目标而共同实现最终的目的,而DevOps 则实现团队作战,即无论是开发、运维还是测试,都为了最终的代码发布、持续部署和业务稳定而付出各自的努力,从而实现产品设计、开发、测试和部署的良性循环,实现产品的最终持续交付。

(一)创建任务 1.创建任务 点击首页“创建一个新任务”的链接 2.选择 Jenkins 任务类型 Jenkins 提供了四种类型的任务: 1)构建一个自由风格的软件项目 这是 Jenkins 的主要功能.Jenkins 将会结合任何 SCM 和任何构建系统来构建你的项目, 甚至可以

  以上这张图诠释了什么是DevOps,devops在研发、运维、测试当中是三者的交集;有了devops理念,研发开发流程高效,稳定快速,交付结果可预期;测试根据开发提交的代码,进行持续测试,提升了交付的质量;而运维也可以利用一些自动化部署工具,将测试过得代码,部署到线上;通过这样一个过程,降低了运维维护的成本;研发开发的代码,提交到仓库,由测试人员从仓库中拉去代码进行测试,如果这中间有bug,测试会把测试的结果拿给开发看,让开发改,经过多次修改,代码没有问题,然后再由运维人员将测试过的代码,部署到线上,通常在正式部署到线上时,一般都不会一下子将所有服务器都更新,一般采取分批部署,灰度发布;所谓灰度发布指在业务访问不高的情况下,将一部分服务器从生产环境摘下,进行代码更新,然后再上线;经过一段时间新上线的代码没有bug,然后再分批将其他服务器更新;如果上线后业务有异常,运维人员会将上线都代码立即回滚;这样做可以最大化减少线上业务故障;

可以的。1.先在jenkins --->系统管理--->插件管理里面安装权限策略role-strategy.jpi插件,再注册几个用户。2.在系统管理--->Configure Global Security里统一用户权限配置,在这里配置的权限针对所有job有作用。3.也可以在job 配置里面单独授权

  devops流程

目前Jenkins是最好用的开源持续集成工具

  上图是devops理念的一个流程,从项目最早的计划,到项目上线交付,后续的监控形成了一个闭环,这也体现了DevOps的核心理念团队协作、相互协助、持续发展;中间任何环节出现问题,都会将项目回退到上一步,它们之间都是环环相扣的;比如在t测试没有通过,那么测试会将测试的结果告诉开发,说代码测试有bug,然后研发修改,直到测试通过才会到运维手里,当然运维将项目部署到线上后,也要做监控,如果上线后监控到部分指标有问题,比如内存消耗严重,cpu负载过高,这些问题运维一方面要考虑服务器本身是否有问题,另一方面要考虑代码的问题;所以运维要和开发共同去协作,最终将问题解决;

自动远程部署,可以使用wagon-maven-plugin插件把war包传到服务器指定目录下 自动打tag,其实就是执行一下svn copy,设置权限使内容不再修改

  持续集成(Continuous integration)简称CI;所谓持续集成指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码行合并到一起并切相互不影响工作。

  持续部署(continuous deployment)简称CD;持续部署指是基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率。

  持续交付(Continuous Delivery)简称CD;持续交付是在持续部署的基础之上,将产品交付到线上环境,因此持续交付是产品价值的一种交付,是产品价值的一种盈利的实现。

  devops中常用的工具

  jenkins在devops中主要做持续集成的工作,它可以将开发写的项目代码从代码仓库中拉去下来,进行代码扫描、编译、测试,部署到线上;

  jenkins是java语言编写的一款高度插件化的软件,它的很多功能都是由插件实现,扩展功能我们安装对应的插件即可,非常方便灵活;除此之外,jenkins还可以在多台机器上进行分布式地构建和负载测试。Jenkins是根据MIT许可协议发布的,因此可以自由地使用和分发。

  了解了上面的简介,我们再来说说jenkins的部署;

  二、环境准备

  硬件环境:内存建议4G+,Cpu:建议4核;当然根据自身环境的规模,确定硬件配置是比较妥当的做法;

  准备java环境

  1、安装java8

  提示:java8我们可以直接安装openjdk;也可以去oracle官网下载二进制包解压安装;我这里直接安装oracle的rpm包jdk;

  验证java环境

  提示:如果安装了jdk以后,一定要确认能够使用java -version打印出java对应的版本,打印出版本说明我们安装的java环境才没有问题;以上是yum安装rpm包的方式部署java环境;

  配置二进制包java环境

  以上把jdk安装到/usr/local/目录下,接下来到处java环境

  验证:重启服务器,等服务器启动好了,看看在命令行能否使用java -version命令打印出对应java8的版本信息

  提示:如果重启后使用java -version能够看到对应java的版本,说明java环境就没有问题;

  准备好java环境,接着我们下载去官网下载jenkins;jenkins的官方网站是https://www.jenkins.io/;找到download页面,选择对应的系统

  提示:官方告诉我们说,配置jenkins的仓库,然后使用yum install jenkins 命令来安装jenkins;并且官方建议使用openjdk;

  安装openjdk

  验证java环境

  2、配置jenkins仓库

  三、安装jenkins

  查看jenkins安装了那些文件

  提示:/etc/sysconfig/jenkins是jenkins的配置文件;/usr/lib/jenkins/jenkins.war这个是jenkins的主程序war包;/var/lib/jenkins这个是jenkins的数据目录,通常这个目录我们应该挂载一个较大的存储,后续jenkins拉取代码就存放在此处;/var/log/jenkins这个是jenkins的日志存放目录;

  编辑jenkins的配置文件

  提示:JENKINS_HOME用来指定jenkins的数据目录;默认是在/var/lib/jenkins目录;JENKINS_USER是用来指定jenkins的启动用户,默认是jenkins;如果不更改启动用户,使用默认用户,后续我们拖代码,编译,测试都是基于这个用户的权限去做,所以后续要注意其他服务器上对这个用户的权限;通常jenkins平台都不会对外,都是在内网中使用,所以更改成root也是可以的,如果你不想麻烦,建议修改成root;后续其他配置几乎不用更改,保存上面的配置,我们就可以启动jenkins了;

  启动jenkins,并把它设置为开机启动

  提示:设置jenkins开机启动,需要用chkconfig命令去设置,原因是它没有提供unit file脚本文件;当然启动也是可以使用service命令去启动;

  用浏览器访问8080端口

  提示:jenkins的启动稍微有点慢,我们这里耐心等待就好;如果内存小了,会等很久才起来;

  提示:这里提示我们把上面输入管理员密码;这个管理员密码默认保存在/var/lib/jenkins/secrets/initialAdminPassword,我们把密码复制过来贴到此处就好;

  提示:这里我们选择推荐安装就好,因为第一次运行,我们也不知道安装那些插件,后续如果用到其他插件,我们再安装即可;

  提示:这里我们耐心等待插件全部安装好;这里安装插件和本地服务器网络有关,如果在这一步插件有些没有安装成功,可以重试,或者直接到jenkins主页里面的插件管理里面找到对应的插件,安装即可;

  提示:这里是创建一个管理员帐号,如果我们不想使用默认的admin帐号可以创建一个管理员帐号,当然我们也可以直接使用admin帐号;

  提示:这里是填写访问jenkins的url地址;保持默认就好;

  提示:到此jenkins就安装好了;我们可以点击开始使用jenkins,看看jenkins的首页;

  提示:这里有些地方汉化的不是很好,重启jenkins再登录jenkins就好了;

  好了jenkins首页就长这样,到此jenkins的初始化配置就完成了;后续我们可以在里面用到什么功能再下载相应的插件,配置对应的功能就好;

到此这篇关于持续集成工具之Jenkins安装部署的文章就介绍到这了,更多相关持续集成工具Jenkins内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网! 您可能感兴趣的文章:Node.js环境下Koa2添加travis ci持续集成工具的方法jenkins安装及其配置笔记Jenkins的安装配置详解centos 7系统下安装Jenkins的步骤详解详解jenkins自动化部署vuejenkins中通过Publish Over SSH插件将项目部署到远程机器上的讲解说明

Jenkins是一个开源项目,它提供了一2113个容易使用的持续集5261成系统,并4102且提供了大量的plugin满足各式的集成需求。 因为手1653里项目所用到的稳定性和性能测试工具每天手动部署到各台windows机器上比较浪费时间,所以这里使用jenkins用于部署测试工具到各个测试机上运行。整套环境需要一个中心服务器和若干测试机器组成的slave,这就是jenkins的Master/Slave结构,如下所示: 在我们下面的使用中,master和slave是通过jnlp协议来通讯的。Master机器:我们需要在我们的master机器上安装jenkins,没有什么特殊说明,注意的是安装包方式同样可以通过运行安装目录下的jenkins.war来启动jenkins,而默认情况下安装后会安装一个名为Jenkins的自动运行的服务。安装完后访问jenkins的根目录,默认情况下端口是8080(如果要使用其他端口启动,可以通过命令行”Java –jar Jenkins.war –httpPort=80”的方式修改),通过”系统管理”-”管理节点”-“新建节点”新建节点主要设置远程目录已经运行和访问的方式,注意这里如果有很多机器,建议远程工作目录名称都一样,方便管理,如下所示: 点击保存,这时候就会在jenkinsnode视图左侧看到创建的slave节点。下面要做的就是部署真正的slave机器了,点击左侧的”test_machine”,这时候会打开该节点的页面,复制这个url,一般是形如http://192.168.1.148/computer/test_machine/, 注意这里在访问的时候不要通过 127.0.0.1的方式访问,因为这样可能会导致后面所用到的jnlp文件中master地址也是127.0.0.1,从而导致slave机器上启动失败。 Slave机器: 首先需要在slave机器上安装java环境和.NetFrameWork环境,然后在浏览器中访问上面拷贝的url,这里提供了三种方式运行slave,我这里使用的第二种方式: 备注:slave.jar的位置如 http://192.168.1.148/jnlpJars/slave.jar 这时候有可能出现如下的错误:这是因为从 Java 7 Update51 开始,如果应用程序没有证书(例如未签名应用程序)或缺少应用程序名称和发行者信息,默认情况下会被阻止。运行此类型的应用程序可能不安全并存在较高级别的风险。 解决的方法是通过windows开始菜单项打开java控制面板,然后把master机器的url添加到安全提示的例外网站。再次运行,则弹出如下的安全警告,允许运行即可。同时,当运行主机上安装了多个java版本时并且应用程序被安全设置阻止时,可以取消一些版本,防止一些意想不到的异常。运行成功我们能看到连接成功的窗口,而我们继续查看可以在设定的远程工作目录,c:\remote_jenkins下看到如下的一些文件jenkins-slave.exe,jenkins-slave.exe.config,slave.exe,jenkins-slave.xml。 我们这里主要关注jenkins-slave.xml,从下面我们可以看到两个关键节点,executable和arguments,如果你想使用不同的java版本,可以从这里修改,而从arguments可以看出jnlp协议连接的master主机地址。 这时候slave机器已经运行起来了,但是我们显然不想每次都在slave机器上运行一下启动,所以jenkins又提供了slave的服务,如下所示进行安装。上面说过机器上需要. NetFrameWork环境,我理解是用于安装windows服务用的,当你没有安装时会提示如下错误:但是上面的提示却误导了我,因为一般都会版本越新越好,但是在xp环境上,最终只有安装2.0版本才能正常,其他所有版本安装后安装服务都会提示如下一些错误提示:当然上面slave机器上所有进行操作的前提是设置了远程工作目录并且的确在你远程的物理机上创建了该目录,如果没有设置远程工作目录,会错误提示如下:如果配置了远程工作目录,但是salve机器上没有该目录,则弹出如下错误:如果slave无法连接,查看远程工作目录下的jenkins-slave.err.log,这是因为我在master机器上把该slave的名字改了,但是下发到该slave上的jenkins-slave.xml还是旧的信息。还有一种情况就是在在你master机器ip不断变化的情况下,可能存在即使新建了新的slave节点,但是启动slave的时候失败的情况,这时候最好的方式是看一下该节点的slave-agent.jnlp文件中的内容,然后手动修改中间的一些地址信息,然后手动javaws运行该文件即可。另外一种方法是jenkins的系统管理面板下修改“Jenkins Location”的” Jenkins URL”内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 每个程序员都应该学习使用python或ruby
  • markdown语法备忘
  • 设计引导--一个鸭子游戏引发的设计理念(多态,继承,抽象,接口,策略
  • 整理的比较全的一句话后门代码(方面大家查找后门)
  • 2018年最值得一读的互联网书单
  • 解决yyc松鼠短视频系统上传视频会被压缩的问题
  • ue、ui、ucd、interaction design、ued、ux、hci、usability,ia
  • 软件测试面试如何测试一个杯子
  • 最新idea2020注册码永久激活(激活到2100年)
  • base64编码的深入认识与理解
  • jenkins,设置集成测试环境,就是构建过程先部署服...
  • 如何搭建Jenkins持续集成测试环境
  • 如何在CentOS下安装部署Jenkins持续集成环境
  • jenkins持续集成常用的插件有哪些
  • 高分求jenkins+git详细配置及使用方法,并能远程协...
  • 如何使用Jenkins进行持续集成测试
  • jenkins 持续集成可以做哪些功能
  • 有没有比jekins好用的持续集成工具
  • jenkins+maven+svn 远程部署到weblogic 持续集成
  • 如何用Jenkins和Kubernetes搭建可伸缩持续集成系统
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全javascriptasp.netphp编程ajax相关正则表达式asp编程jsp编程编程10000问css/htmlflex脚本加解密web2.0xml/rss网页编辑器相关技巧安全相关网页播放器其它综合dart首页node.js环境下koa2添加travis ci持续集成工具的方法jenkins安装及其配置笔记jenkins的安装配置详解centos 7系统下安装jenkins的步骤详解详解jenkins自动化部署vuejenkins中通过publish over ssh插件将项目部署到远程机器上的讲解说明每个程序员都应该学习使用python或rubymarkdown语法备忘设计引导--一个鸭子游戏引发的设计理念(多态,继承,抽象,接口,策略整理的比较全的一句话后门代码(方面大家查找后门)2018年最值得一读的互联网书单解决yyc松鼠短视频系统上传视频会被压缩的问题ue、ui、ucd、interaction design、ued、ux、hci、usability,ia软件测试面试如何测试一个杯子最新idea2020注册码永久激活(激活到2100年)base64编码的深入认识与理解最新idea2020注册码永久激活(激活intellij idea2020永久破解,亲测intellij idea激活码获取方法(i删除svn三种方法delsvn(windows+c/s和b/s两种架构的概念、区别和intellij idea 2020最新注册码(亲网址(url)支持的最大长度是多少5个linux平台程序员最爱的开发工url中斜杠/和反斜杠\的区别小结matlab画三维图像的示例代码(附demo)人工智能(ai)首选python的原因解析在codeigniter中 在ci中引入外部的js与cs2018年最值得一读的互联网书单关注程序员健康:程序最需要注意的几件事hello world程序集锦使用curl命令行模拟登录wordpress的方法字符编码详解(基础)科学知识:二进制、八进制、十进制、十六设计引导--一个鸭子游戏引发的设计理念(多
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved