zz22 发表于 2018-1-7 10:39:32

jenkins配置svn、gradle、ssh

  1.先说下实现的效果,从svn拉取代码、调用gradle编译构建、将构建包分发到部署服务器并备份原来的部署包;
  2.直接从http://mirrors.jenkins-ci.org/war/latest/jenkins.war 下载最新的war包。
  启动方法: java-jar jenkins.war 即可,如果要以后台进程的方式启动,改成nohup java -jar jenkins.war & 即可;
  加 --httpPort指定运行端口;
  jdk、gradle这种依赖插件要先配置好;
https://images2015.cnblogs.com/blog/125499/201603/125499-20160310174857663-789648564.png
  这里设置一下JENKINS_HOME环境变量,这样,所下载的插件产生的数据都会到指定的目录里;不配的话默认是在home目录;
  3.具体配置如图
https://images2015.cnblogs.com/blog/125499/201603/125499-20160310174859647-1832190147.png
  a、这里,可以更新需要的插件,这里用的jenkins1.652,更新插件时,svn插件不要更新了;刚开始更新后,从svn拉代码一直出错;可能是插件的兼容性问题;
  b、系统配置里
https://images2015.cnblogs.com/blog/125499/201603/125499-20160310174900850-1381317448.png
https://images2015.cnblogs.com/blog/125499/201603/125499-20160310174901554-381818156.png
  配置好jdk、gradle、shell
  c、装下Publish over SSH插件
https://images2015.cnblogs.com/blog/125499/201603/125499-20160310174905257-534136242.png
  图1填写密码也可不填,图2填私钥所在路径,图3填私钥值,图4填默认远程目录
  这里的私钥可以用   ssh-keygen -t rsa生成,将生成的公钥值放到远程服务器的authorized_keys 文件里,即可免码登录;
  d、新建条目,配置如下
https://images2015.cnblogs.com/blog/125499/201603/125499-20160310174905991-12392264.png
  图上配置项目名称、svn地址、svn登录名、密码,及本地目录;
https://images2015.cnblogs.com/blog/125499/201603/125499-20160310174906788-882821517.png
  图上1,任务脚本;
  图2根路径,
  图3构建脚本;
  图4构建后的war包路径;
  图5将war包路径拷贝到远程目录中所排除的路径部分,即我只需要拷贝一个war包,不需要它的父级目录;
  图6拷贝到远程的目录,注意这个是相对目录,相对之前配置的ssh远程目录;
  图7远程脚本文件,在拷贝完之后执行;这个脚本主要是将远程部署目录的工作包备份到历史文件夹,再把tmp中新的包覆盖工作包;
  执行脚本:
  #!/bin/bash
  #_his='/usr/local/myapp/history/cbb_web'
  #_deploy='/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain/deploy'
  #_jar='icustoms-cbb-pre-1.0.war'
  _his='/usr/local/myapp/history/cbb_robot'
  _deploy='/home/weblogic/apps/cbb-robot'
  _jar='cbb-sender-sh-pre-robot-1.0.jar'
  cp ${_deploy}/${_jar} ${_his}/$(date +%Y%m%d-%H%M%S)_${_jar} -fr
  mv ${_his}/tmp/${_jar} ${_deploy}
  e、多次编译分发
https://images2015.cnblogs.com/blog/125499/201603/125499-20160311133857444-1027878985.png
  重复图上的这两步,就可以完成一次构建中多次编译、分发部署;图上的CIFS Publish插件是分发到windows目录;
  f、创建节点服务器,可以将构建任务委托给节点服务器去做;
https://images2015.cnblogs.com/blog/125499/201603/125499-20160311133858163-1006615549.png
页: [1]
查看完整版本: jenkins配置svn、gradle、ssh