安装:

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深入浅出的更多相关文章

  1. 使用 Jenkins 搭建 iOS/Android 持续集成打包平台【转】

    背景描述 根据项目需求,现要在团队内部搭建一个统一的打包平台,实现对iOS和Android项目的打包.而且为了方便团队内部的测试包分发,希望在打包完成后能生成一个二维码,体验用户(产品.运营.测试等人 ...

  2. Jenkins 安装的HTML Publisher Plugin 插件无法展示ant生成的JunitReport报告

    最近在做基于jenkins ant  junit 的测试持续集成,单独ant junit生成的junitreport报告打开正常,使用Jenkins的HTML Publisher Plugin 插件无 ...

  3. 【深入浅出jQuery】源码浅析--整体架构

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

  4. Python-Jenkins API使用 —— 在后端代码中操控Jenkins

    最近在工作中需要用到在后台代码中触发Jenkins任务的构建,于是想到Jenkins是否有一些已经封装好的API类库提供,用于处理跟Jenkins相关的操作.下面就简单介绍下我的发现. Linux C ...

  5. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  6. 项目持续集成环境(jenkins + SVN + maven + tomcat)

    整体流程 每次SVN上代码有变动,触发自动构建动作,并部署到服务器的tomcat上,具体流程: 1.SVN上提交代码修改 2.maven执行Goals 3.将web工程打成war包 4.关闭服务器的t ...

  7. Jenkins的一个bug-同时build一个项目两次导致失败

    我们有一个job A, A只是配置了一些参数,它会去触发模板job B. 我一开始点击构建A, 马上发现参数配置不对,于是撤消了构建,但是我没有发现B已经被触发,我重新配置参数,然后再次构建A,这个时 ...

  8. 使用Jenkins配置Git+Maven的自动化构建

    Jenkins是一个开源的持续集成工具,应用Jenkins搭建持续集成环境,可以进行自动构建.自动编译和部署,非常方便. 在服务器比较少的情况下,Jenkins的优势并不明显,但是随着项目发展,服务器 ...

  9. Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)

    所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...

随机推荐

  1. 19、javascript基础知识

    1.几天接到了一个奇葩的需求,就是在鼠标滚轮滑动的时候,div要悬浮不动,因此这引起了我对于javascript知识的复习 首先从最基础的变量的类型开始 <!DOCTYPE html> & ...

  2. Jeecg集成Swagger-ui

    <context:component-scan base-package="springfox"/> <bean class="org.jeecgfra ...

  3. 京东云Ubuntu下安装mysql

    1.sudo apt-get install mysql-server,输入y后输入密码 2.sudo apt isntall mysql-client 3.sudo apt install libm ...

  4. HDU 6656 Kejin Player (期望DP 逆元)

    2019 杭电多校 7 1011 题目链接:HDU 6656 比赛链接:2019 Multi-University Training Contest 7 Problem Description Cub ...

  5. 记录百度编辑器bug(在编辑框输入光标到达页面最底部时,功能区块会悬浮在页面最顶部并且与编辑框分离)

    解决方案: //加入这段CSS#edui1_toolbarbox { position: relative !important; }

  6. 关于kettle

    1.点spoon.bat无报错也不运行 可以运行一下spoonDebug.bat 查看一下spoondebug.txt日志 我遇到这个问题时 是给他分配的内存太多了 我的电脑只有2g 给果他给分了20 ...

  7. Python移动自动化测试面试✍✍✍

    Python移动自动化测试面试  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以 ...

  8. vue 过滤器filter的详解

    1.代码运用的地方 <!-- 在双花括号中 --> {{ date | formatDate}} <!-- 在 `v-bind` 中 --> <div v-bind:id ...

  9. kafka消息深入学习

    Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域. 1  快写  快读 看下面的图: 传统应用是  硬件到缓存,到应用 再socket进行传输,再进行网络传输,再到用 ...

  10. 深入研究js中的位运算及用法

    什么是位运算? 位运算是在数字底层(即表示数字的 32 个数位)进行运算的.由于位运算是低级的运算操作,所以速度往往也是最快的(相对其它运算如加减乘除来说),并且借助位运算有时我们还能实现更简单的程序 ...