Build
  Root POM
  Goals and options
Command



# consts
SERVER="192.168.60.209"
DEPLOY="ROOT"
SERIVCE="ddcms"
OUT_TGT="target/ddcms.war"
RELEASE_DIR="${WORKSPACE}/.release"
SSH_OPTS="-i ${JENKINS_HOME}/.ssh/id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null"
 
# uncompress jetty war
[ -d "${RELEASE_DIR}" ] && rm -rf "${RELEASE_DIR}"
/bin/mkdir "${RELEASE_DIR}" 2>/dev/null
/usr/bin/unzip ${WORKSPACE}/${OUT_TGT} -d "${RELEASE_DIR}"
/usr/bin/git rev-parse HEAD > "${RELEASE_DIR}/.revision"
 
# purge code via ssh
/usr/bin/ssh ${SSH_OPTS} \
 root@${SERVER} "rm -rf /opt/phoenix/deploy/${SERIVCE}/webapps/${DEPLOY}/WEB-INF/classes"
 
/usr/bin/ssh ${SSH_OPTS} \
 root@${SERVER} "rm -rf /opt/phoenix/deploy/${SERIVCE}/webapps/${DEPLOY}/WEB-INF/lib"
/usr/bin/ssh ${SSH_OPTS} \
 root@${SERVER} "rm -rf /opt/phoenix/deploy/${SERIVCE}/webapps/${DEPLOY}/WEB-INF/web.xml"
    
# push git revision tag via ssh
/usr/bin/scp ${SSH_OPTS} \
    ${RELEASE_DIR}/.revision root@${SERVER}:"/opt/phoenix/deploy/${SERIVCE}/webapps/${DEPLOY}"
 
    
# push code via scp
/usr/bin/scp -r ${SSH_OPTS} \
 ${RELEASE_DIR}/WEB-INF/classes root@${SERVER}:"/opt/phoenix/deploy/${SERIVCE}/webapps/${DEPLOY}/WEB-INF/"
 
/usr/bin/scp -r ${SSH_OPTS} \
 ${RELEASE_DIR}/WEB-INF/lib root@${SERVER}:"/opt/phoenix/deploy/${SERIVCE}/webapps/${DEPLOY}/WEB-INF/"
/usr/bin/scp -r ${SSH_OPTS} \
 ${RELEASE_DIR}/WEB-INF/web.xml root@${SERVER}:"/opt/phoenix/deploy/${SERIVCE}/webapps/${DEPLOY}/WEB-INF/"
    
# restart the service
/usr/bin/ssh ${SSH_OPTS} root@${SERVER} "/sbin/service ${SERIVCE} restart"
 

jenkens构建脚本的更多相关文章

  1. Gradle 1.12 翻译——第十三章 编写构建脚本

    有关其它已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或訪问:http://gradledoc.qiniudn.com ...

  2. 【Git】自动化Maven项目构建脚本(一)

    在公司服务器上搭了个自动化构建环境,一上午写了个构建脚本,现在贴出来给自己看 #!/bin/bash # .配置路径变量 propath=/home/hotspot/.autoBuild/projec ...

  3. es6零基础学习之构建脚本(二)

    编译器打开你的es6项目 首先:创建我们的第一个脚本,tasks/util/args.js      在文件里面要先引入一个包,处理命令行参数 import yargs from 'yargs'; / ...

  4. 约定Jenkins构建脚本

    对于Jenkins的使用,我感觉只用到其中一小部分功能,但也就是这一小部分功能,也推动了整个CI/CD的过程,Jenkins的使用方式有很多中,可能我用到的只是其中一种,但是已经满足我的需求,便不再贪 ...

  5. 适用于nodercms的打包构建脚本

    背景 最近自己用nodercms搭建了一个简单的博客系统,用户发布一些自己谁便谢谢的文章.感谢nodercms团队,这个cms轻量易用,用于做个人博客太方便了.开发了博客系统,肯定设计到部署到AWS或 ...

  6. Gradle:构建脚本概要

    一.构建块 1.每一个构建块都包括三个基本构建块:project.task和property: 2.每一个构建块包括至少一个project,进而又包括一个或多个task: 3.project和task ...

  7. Gradle构建脚本基础

    Gradle构建脚本,内部是基于 Groovy 的 DSL(领域特点语言),而Maven是基于XML的,Groovy相比XML更加简洁.灵活和强大. Groovy 因为给 Java 开发人员提供了最大 ...

  8. 【Gradle】Gradle构建脚本基础

    Gradle构建脚本基础 Settings文件 在Gradle中,定义了一个设置文件,用于初始化以及工程树的配置.设置文件的默认名为settings.gradle,放在根工程目录下. 设置文件大多数的 ...

  9. 【转载】Gradle学习 第六章:构建脚本基础

    转载地址:http://ask.android-studio.org/?/article/11 6.1. Projects and tasks 项目和任务Everything in Gradle si ...

随机推荐

  1. noj [1475] Bachelor (找1的个数)

    http://ac.nbutoj.com/Problem/view.xhtml?id=1475 [1475] Bachelor 时间限制: 1000 ms 内存限制: 65535 K 问题描述 炎热的 ...

  2. Android 去除list集合中重复项的几种方法

    因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List<"}; List<string> li2 = new List<string& ...

  3. RPGJS 进阶分析之 如何使用RMXP导出的数据

    首先启动RMXP 在主脚本编辑区粘贴官方提供的导出数据脚本. 之后启动并进入游戏之后按F8键就可以调出导出Map和Animation的菜单 导出后的数据保存在工程目录下的RpgJs目录下. Datab ...

  4. Nginx+Keepalived 做负载均衡器

    1.安装 keepalived   1 2 3 4 5 6 7 8 9 tar zxvf keepalived-XXXX.tar.gz ./configure --prefix=/usr/local/ ...

  5. 单元测试中Assert类

    一.Assert类的使用 1.Assert类所在的命名空间为Microsoft.VisualStudio.TestTools.UnitTesting 在工程文件中只要引用Microsoft.Visua ...

  6. [HDU 1806] Frequent values

    Frequent values Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  7. Linux 的档案权限与目录配置

    档案权限 Linux最优秀的地方之一,就在于他的多人多任务环境. 而为了让各个使用者具有较保密的档案数据,因此档案的权限 管理就变的很重要了. Linux一般将档案可存取的身份分为三个类别,分别是 o ...

  8. DOM(文本对象模型)简介

    DOM(文本对象模型)简介 在正式开始介绍jQuery处理XML前我们来了解一些必备的基础知识. DOM是HTML或者XML结构的一种展现形式,通过编程对DOM进行修改可以达到修改HTML/XML的目 ...

  9. How to change the property of a control from a flowlayoutpanel?

    Well, the easiest way would be to retain an explicit reference to the buttons you're adding. Otherwi ...

  10. [转]ASP.NET MVC 入门11、使用AJAX

    在ASP.NET MVC beta发布之前,M$就宣布支持开源的JS框架jQuery,然后ASP.NET MVC beta发布后,你建立一个ASP.NET MVC beta的项目后,你可以在项目的sc ...