jenkins深入浅出
安装:
1、 从官网上下载新版本的Jenkins,https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/2.89.4/jenkins.war
2、 Jenkins.war放在10.0.10.133的/opt下面,启动方式:nohup java -jar jenkins.war --httpPort=8080 &
3、 jenkins访问地址http://10.0.10.133:8080;完成Jenkins的初始化,(插件选择默认安装)下一步就可以创建项目了
4、 Jenkins的工作目录是/root/.jenkins/workspace
部署:
首先在”系统管理”à”全局工具配置”中配置上jdk的安装位置,以及maven的安装(maven的安装可以选择自动安装,也可以选择从系统安装中获取);(插件的安装,等下面部署具体项目的时候再介绍需要安装那些插件);
再一个就是配置后端管理的节点,这里有个问题就是我下载的是最新版本的Jenkins,安装jdk1.7报错,所以选择的jdk1.8进行安装,但是与后端的jdk版本不一致,这里如果选择配置系统管理里面的”管理节点”进行配置的话,会提示让安装jdk1.8;为了不影响原有版本的使用,这里配置的是”系统管理”à”系统设置”,在里面增加ssh servers也可以达到相同的目的,配置如下:(在这里使用的key进行与远程服务器的通信,首先使133机器能与其它机器无密码登录,然后把133上的私钥拷贝到Jenkins上就可以了)
1、 Datax项目:
新建一个名称为dataxDeploy的并选择自由风格的项目,进去配置,在这里说下有几个重要的点需要注意;一是构建触发器,在这里配置的事Poll scm,配置这个结果就是每隔一段时间去探测源码库中是否更新,更新的话,就会触发构建,配置如下:(本实例配置的是每隔30分钟探测一次,也可以能根据实际的需求更改)
二是在构建配置中选择执行shell,配置如下:(意思就是,进入该项目的工作目录,checkout下来datax项目,并打包成zip的形式)
三是,在构建配置中,选择sendfiles or execute commands over ssh(这个选项是由publish over ssh提供的,安装的插件的方式,“系统管理”à”管理插件”à”可选插件”,直接搜索安装就可以了);安装好之后,里面有几个选项需要注意,name是选择前面已经配置好的ssh servers的name名称,source files就是创建的包名,下面还有一个remove prefix的作用是去除target,这里的datax-all.zip 是直接放在dataxDeploy项目下面的,所以可以以下图这种方式书写,如果是另外一种方式的话,就另当别论了,下个项目会介绍;romote directory是把包放在远程主机的目录地址,Exec command也是在远程主机上执行的bash命令,配置如下图:(可以选择多个远程主机)
2、 Erp项目:
这里构建的是maven项目,源码管理里面配置的是SVN的URL地址,访问的用户名和密码,本地存储的位置,默认是直接存储到项目下面,配置如下:
Maven构建项目可以直接打包,pre steps选项中选择Invoke top-level Maven targets,在goals中写上clean package,意思就是对下载的内容先清理然后进行编译打包(具体是打成war包还是打成jar包,pom文件中会定义),配置如下:
构建完成之后,我们想要做的就是把这个war包发送到远端服务器上,现在就有一个插件Deploy war/ear plugin可以实现,定义本地war路径,定义Tomcat访问的URL地址,以及用户名和密码(这里的用户名和密码是Tomcat manager定义的用户名和密码,具体配置的方法是配置Tomcat的tomcat-users.xml文件,增加入下行:
<rolerolename="tomcat"/>
<rolerolename="role1"/>
<rolerolename="manager-gui" />
<rolerolename="manager-script" />
<rolerolename="manager-status" />
<userusername="tomcat" password="tomcat"roles="tomcat"/>
<userusername="both" password="both"roles="tomcat,role1"/>
<user username="deploy"password="tomcat"roles="manager-gui,manager-script,manager-status" />
然后需要更改webapps\manager\META-INF这个目录下的context文件,把 <ValveclassName="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
给注释掉,重启Tomcat就OK了);具体Jenkins的配置如下:
jenkins深入浅出的更多相关文章
- 使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】
背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人 ...
- Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告
最近在做基于jenkins ant junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...
- 【深入浅出jQuery】源码浅析--整体架构
最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...
- Python-Jenkins API使用 —— 在后端代码中操控Jenkins
最近在工作中需要用到在后台代码中触发Jenkins任务的构建,于是想到Jenkins是否有一些已经封装好的API类库提供,用于处理跟Jenkins相关的操作.下面就简单介绍下我的发现. Linux C ...
- 在centos7上安装Jenkins
在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...
- 项目持续集成环境(jenkins + SVN + maven + tomcat)
整体流程 每次SVN上代码有变动,触发自动构建动作,并部署到服务器的tomcat上,具体流程: 1.SVN上提交代码修改 2.maven执行Goals 3.将web工程打成war包 4.关闭服务器的t ...
- Jenkins的一个bug-同时build一个项目两次导致失败
我们有一个job A, A只是配置了一些参数,它会去触发模板job B. 我一开始点击构建A, 马上发现参数配置不对,于是撤消了构建,但是我没有发现B已经被触发,我重新配置参数,然后再次构建A,这个时 ...
- 使用Jenkins配置Git+Maven的自动化构建
Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建.自动编译和部署,非常方便. 在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服务器 ...
- Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)
所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...
随机推荐
- Maven 打包jar清单
<project> ... <build> <plugins> <plugin> <groupId>org.apache.maven.plu ...
- git分布式版本控制系统权威指南学习笔记(一):配置文件、简单流程和小问题
文章目录 git配置文件简介 git config各种命令 配置级别: 用户信息 文本编辑器 差异分析工具 配置命令别名 公钥 git协同流程 简单流程 初始化版本库 提交至缓存区 查看状态 提交分支 ...
- C++——Lambda表达式
0.使用场景---只有一两个地方使用的简单操作 独立出来一个函数,但这个函数实现相对简单并且可能在整个项目只使用了一次(即不存在复用的情况),那么这个时候我们就可以考虑使用下lambda表达式了. ? ...
- docker container 的操作
删除所有退出的容器 docker container rm $(docker ps -aq)
- 一、数据库、SQL简介
1.数据库简介 1.1数据库:保存有组织的数据的容器(通常是一个文件或一组文件) 数据库软件:称为数据库管理系统(DBMS),数据库是通过DBMS创建和操纵的.通常用户使用DBMS访问数据库. 表:表 ...
- CSS:Stacking Context
通常情况下,HTML页面可以被认为是二维的,因为文本,图像和其他元素被排列在页面上而不重叠.在这种情况下,只有一个渲染进程,所有元素都知道其他元素所占用的空间.z-index属性可让你在渲染内容时调整 ...
- swagger使用详解
1:认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法 ...
- 基于OpenResty与Consul实现服务网格ServiceMesh
一.逻辑架构 1.基于OpenResty开发智能代理: 利用其动态可编程特性,动态化配置nginx服务路由: 2.需要向OpenResty添加weibo开源的upsync服务发现模块: 3.基于con ...
- Mac版本的 Axure rp8 不显示菜单栏
我之前也是一直在找这个问题,可能mac用的不熟练吧,其实他的菜单栏就近在眼前 你看不见只是因为你的关注点在axure上 往大了看,他的菜单栏显示在你的电脑的菜单栏上,mac的菜单栏基本都是这么显示的, ...
- JS中的垃圾回收(GC)
垃圾回收(GC): 1. 就像人生活的时间长了会产生垃圾一样,程序运行过程中也会产生垃圾,这些垃圾积攒过多以后,会导致程序运行的速度过慢, 所以我们需要一个垃圾回收的机制,来处理程序运行中产生的垃圾. ...