jenkins通过配置ansible传输文件,并且调度服务
来源:互联网 发布:西安明朝万达 JAVA 编辑:程序博客网 时间:2024/05/19 23:16
最近在研究jenkins,最后卡在了war包传输的问题。看见同事配置了使用ansible,记录一下相关脚本。
1、首先安装ansible
推荐用yum install ansible。
如果没有镜像源,请如下使用:
rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6yum install ansible
2、jenkins部署机器生产rsa公钥,放入到业务程序部署机
3、在jenkins的post steps之后,配置
附上shell
#定义常量WORKSPACE=`pwd`WAR_DIR=${WORKSPACE}/${PROJ_NAME}-web/targetJETTY_DIR=/data/www/java/work/${PROJ_NAME}-jettyREMOTE_DEPLOY_DIR=${JETTY_DIR}/webappsINVENTORY_FILE=/tmp/${PROJ_NAME}-inventory-${JOB_NAME##*/}INVENTORY_TEMPLATE=/opt/jenkins/default_inventory_templatecd $WAR_DIR#准备Inventorycat ${INVENTORY_TEMPLATE} > ${INVENTORY_FILE}echo ${DEPLOY_HOST} >> ${INVENTORY_FILE}#删除远程服务器部署文件ansible -i ${INVENTORY_FILE} all -m raw -a "rm -rf ${REMOTE_DEPLOY_DIR}/${PROJ_NAME}-web.war"#COPY文件到远程服务器部署目录ansible -i ${INVENTORY_FILE} all -m copy -a "src=${WAR_DIR}/${PROJ_NAME}-web.war dest=${REMOTE_DEPLOY_DIR}/"#重启jettyansible -i ${INVENTORY_FILE} all -m shell -a "${JETTY_DIR}/bin/jetty.sh restart"
注意1:/opt/jenkins/default_inventory_template,模板内容如下
[deploy]
INVENTORY_FILE最终的样子是,如下,第二行的ip就是应用的部署机器
[deploy]192.168.142.12
注意2:jenkins需要配置几个参数
PROJ_NAME: #项目的名字
DEPLOY_HOST: #业务应用部署的机器
1 0
- jenkins通过配置ansible传输文件,并且调度服务
- ansible批量传输文件
- Jenkins服务配置
- Jenkins服务配置
- Ansible主机清单文件及ansible.cfg常用配置
- 通过WebService传输文件
- 通过ssh传输文件
- 通过alljoyn传输文件
- 通过alljoyn传输文件
- 通过socket传输文件
- 安装配置minicom并实现通过minicom传输文件
- 安装配置minicom并实现通过minicom传输文件
- 通过Tomcat配置虚拟目录传输文件方便测试Android应用
- 调度服务Quartz的配置
- Android通过ContentProvider传输文件
- 通过ssh传输文件scp
- ssh通过scp传输文件
- JNI通过管道传输文件
- Mapreduce工作流程
- Spring scope属性详解
- apscheduler提示maximum错误
- DefaultHttpClient is deprecated
- hdu 2086 A1 = ?
- jenkins通过配置ansible传输文件,并且调度服务
- 决策树学习 之 概念与构造算法
- RFID扫描APP Android
- VMware Tools不能正常共享文件夹以及不支持USB3.0的解决方案
- Spring 3 MVC深入研究
- 如何用滚动视图实现新闻导航滚动条?
- [C/C++][经典探讨]类继承中,通过基类指针delete释放,是否会造成内存泄漏 http://blog.csdn.net/code_godfather/article/details/66480
- nl2br函数
- CSS盒模型