zoukankan      html  css  js  c++  java
  • 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这种依赖插件要先配置好;

    image

    这里设置一下JENKINS_HOME环境变量,这样,所下载的插件产生的数据都会到指定的目录里;不配的话默认是在home目录;

    3.具体配置如图

    image

    a、这里,可以更新需要的插件,这里用的jenkins1.652,更新插件时,svn插件不要更新了;刚开始更新后,从svn拉代码一直出错;可能是插件的兼容性问题;

    b、系统配置里

    image

    image

    配置好jdk、gradle、shell

    c、装下Publish over SSH插件

    image

    图1填写密码也可不填,图2填私钥所在路径,图3填私钥值,图4填默认远程目录

    这里的私钥可以用   ssh-keygen -t rsa  生成,将生成的公钥值放到远程服务器的authorized_keys 文件里,即可免码登录;

    d、新建条目,配置如下

    image

    图上配置项目名称、svn地址、svn登录名、密码,及本地目录;

    image

    图上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、多次编译分发

    image

    重复图上的这两步,就可以完成一次构建中多次编译、分发部署;图上的CIFS Publish插件是分发到windows目录;

    f、创建节点服务器,可以将构建任务委托给节点服务器去做;

    image

  • 相关阅读:
    自定义类型中结构体、枚举等,结构体内存对齐相关要点总结
    可变参数模拟printf()函数实现一个my_print()函数以及调用可变参数需注意的陷阱
    一些关于memcpy memmove函数的区别,和模拟实现
    浅谈 数组指针 指针数组 函数指针 函数指针数组... 以及它们之间区别。
    C语 三子棋小游戏
    5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
    stm32移植ds18b20时出现的问题
    自己实现strcmp
    C语言新手写扫雷攻略3
    C语言新手写扫雷攻略2
  • 原文地址:https://www.cnblogs.com/sl21100/p/5262820.html
Copyright © 2011-2022 走看看