在之前一个项目开发中使用到了jenkins自动化测试,根据实际应用,简单整理了其部署方案。

1、部署

2、项目构建

3、重部署

1 部署

登录Jenkins应用管理界面

1)选中一个服务器上已在jenkins成功部署的项目,记住其项目名。如本次部署选择参考服务器上的项目:server-activities-trunk(test1)

2)新建:

3)填入新建项目名称:xbank_core后,选择“复制已有的Item”的模式,填入第一步记住的项目名称:server-activities-trunk(test1),点击“ok”创建。

4)因为大部分项目参数已经在复制server-activities-trunk(test1)项目创建时填好,故本次xbank_core的搭建只需要修改本项目的参数即可,下面将一一讲解:

5)源码管理:选择git,并填入项目所在的git服务器地址

6)构建环境,在Goals  and options一项,修改为本项目的项目名

7)构建后操作:

(1)SSH Server Name一项:选择构建的目标服务器

(2)Transfer Set Source files一项:修改构建本项目需要的包

(3)Remote directory一项:填写本项目的部署名,与下方构建脚本一致

(4)Exec command一项:修改项目构建的脚本,脚本如下:

date=`date +%F-%H-%M-%S`
item="core"
srv_dir=/data/tz_xbank/xbank_coreapi_jar="froad-xbank-server-api-*.jar"
common_jar="froad-xbank-server-common-*.jar"
app_jar="froad-xbank-server-${item}-*.jar"env="/data/jenkins/${item},${srv_dir},${srv_dir}/shutdown.sh,${srv_dir}/startup.sh"
source_dir=`echo $env|cut -d',' -f1`
dest_dir=`echo $env|cut -d',' -f2`
shutdowncmd=`echo $env|cut -d',' -f3`
startupcmd=`echo $env|cut -d',' -f4`
backup_dir="/data/backup"
mkdir -p $backup_dir/${item}-${date}cd $srv_direcho "备份..."
cp -ap ${srv_dir}/app/$app_jar $backup_dir/${item}-${date}
cp -ap ${srv_dir}/lib/$api_jar $backup_dir/${item}-${date}
cp -ap ${srv_dir}/lib/$common_jar $backup_dir/${item}-${date}echo "停服..."
/data/tz_xbank/xbank_core/shutdown.sh echo "删除..."
rm -rf ${srv_dir}/app/$app_jar
rm -rf ${srv_dir}/lib/$api_jar
rm -rf ${srv_dir}/lib/$common_jarecho "更新..."
cp -ap ${source_dir}/$app_jar ${dest_dir}/app
cp -ap ${source_dir}/$api_jar ${dest_dir}/lib
cp -ap ${source_dir}/$common_jar ${dest_dir}/libecho "启服..."
cd /data/tz_xbank/xbank_core
sh ./startup.sh

8)以上步骤完成后,项目部署完毕,点击“保存”按钮保存本次配置

2 项目构建

1)在jenkins主页面找到刚部署的xbank_core项目,点击进入:

2)点击左上方的“Build with Parameters”按钮,进如项目构建页面,点击“开始构建”按钮即可自动构建xbank_core。

3)查看控制台日志:

在项目页面左下角Build History窗口,会看到当前构建次数的状态栏,点击状态栏最前面的小圆圈(成功部署该圆圈是蓝色,部署失败是红色)即可看到本次部署的控制台日志:

日志界面:

3 重部署

开发人员修改了源代码,并已提交git服务器,需同步目标服务器时,可以直接在jenkins上做自动重部署操作:

1)直接登录jenkins,进入xbank_core项目页面,点击页面上的:Build with Parameters按钮,点击“开始构建”按钮即可对git服务器上修改的代码做重部署。

2)查看构建日志和“项目构建”时查看控制台日志一样。

转载于:https://www.cnblogs.com/shindo/p/5300615.html

Jenkins动态部署方案相关推荐

  1. iOS 应用架构谈 动态部署方案

    前言 这里讨论的动态部署方案,就是指通过不发版的方式,将新的内容.新的业务流程部署进已发布的App.因为苹果的审核周期比较长,而且苹果的限制比较多,业界在这里也没有特别多的手段来达到动态部署方案的目的 ...

  2. iOS应用架构谈 动态部署方案

    前言 真没想到这系列博客竟然能够出到这一期... 这里讨论的动态部署方案,就是指通过不发版的方式,将新的内容.新的业务流程部署进已发布的App.因为苹果的审核周期比较长,而且苹果的限制比较多,业界在这 ...

  3. (转)iOS应用架构谈 本地持久化方案及动态部署

    原文链接:http://casatwy.com/iosying-yong-jia-gou-tan-ben-di-chi-jiu-hua-fang-an-ji-dong-tai-bu-shu.html ...

  4. iOS应用架构谈(4) 本地持久化方案及动态部署

    前言 嗯,你们要的大招.跟着这篇文章一起也发布了CTPersistance和CTJSBridge这两个库,希望大家在实际使用的时候如果遇到问题,就给我提issue或者PR或者评论区.每一个issue和 ...

  5. ssiOS应用架构谈 本地持久化方案及动态部署

    本文转载至 http://casatwy.com/iosying-yong-jia-gou-tan-ben-di-chi-jiu-hua-fang-an-ji-dong-tai-bu-shu.html ...

  6. iOS应用架构谈-本地持久化方案及动态部署

    iOS应用架构谈-开篇 iOS应用架构谈-view层的组织和调用方案 iOS应用架构谈-网络层设计方案 iOS应用架构谈-本地持久化方案及动态部署 iOS应用架构谈-组件化方案 前言 嗯,你们要的大招 ...

  7. 四,iOS应用架构谈 本地持久化方案及动态部署

    前言 嗯,你们要的大招.跟着这篇文章一起也发布了CTPersistance和CTJSBridge这两个库,希望大家在实际使用的时候如果遇到问题,就给我提issue或者PR或者评论区.每一个issue和 ...

  8. iOS动态部署之RSA加密传输Patch补丁

    概要:这一篇博客主要说明下iOS客户端动态部署方案中,patch(补丁)是如何比较安全的加载到客户端中. 在整个过程中,需要使用RSA来加密(你可以选择其它的非对称加密算法),MD5来做校验(同样,你 ...

  9. jenkins+gitlab自动化编译部署方案探索及服务端编译webpack实战

    一. 背景 之前我们的开发流程为在本地进行webpack打包编译,然后svn提交源代码和编译后的代码.同时每次提交前也会从svn更新源代码和编译后的代码.这样做有几个缺点: 1. svn 更新和提交编 ...

最新文章

  1. 黑客帝国真的可以!这100万个「活体人脑细胞」5分钟学会打游戏
  2. 好书推荐:《零基础快速入行入职软件测试工程师》学测试一本就
  3. 用python处理excel数据的优势-python数据分析相对于bi和excel的优势是什么?
  4. JavaWeb:上传下载文件
  5. 【图文教程】Ubuntu software解决下载速度过慢
  6. 人行二代征信报告模版_人行首度明确,替代数据纳入征信管理!美化信用报告,难了...
  7. 今天,Java编程周末提高班(第一期)正式结束
  8. Centos 统计文件夹下文件和文件夹的个数
  9. 万字解读鸿蒙轻内核物理内存模块
  10. Latex 合并pdf文档
  11. 频率与振幅的关系图怎么画_手拉手模型怎么画?5步教你分分钟完成模型图
  12. 最长单调递增子序列——动态规划
  13. SSR端口冲突的解决法法
  14. 【数据分析】销售案例——用户购买频次
  15. 大白菜u盘装系统教程linux,大白菜5.1版 快速U盘装系统综合教程
  16. 农业银行代销基金一览表
  17. 英语专家谈英语学习方法
  18. 深度伪造检测论文 · Combining EfficientNet and Vision Transformers for Video Deepfake Detection
  19. 手推向量投影长度、投影向量
  20. 2016山东省第七届ACM省赛总结

热门文章

  1. 6选择内核启动项_Linux内核都没搞懂,Alot和你还有什么关系?
  2. 生产者消费者伪码_[线程同步]生产者消费者代码实现
  3. 武魂觉醒s系列服务器,斗罗大陆武魂觉醒斗罗大陆9服开服时间表_斗罗大陆武魂觉醒新区开服预告_第一手游网手游开服表...
  4. 客户端分析php代码,分享:一个简单的全网解析客户端代码。
  5. 镜头上的四线电机怎么驱动_MS3988/N双路步进电机驱动MS4982内置16细分单路步进电机驱动MS41908M摄像机用镜头聚焦、变倍、自动...
  6. 公安信息通信网边界接入平台安全规范_【市场动态】3.56 亿元,阿里云中标青岛智慧公安项目...
  7. 实现前后台数据交互(上传/回传单个JSON数据和上传/回传JSON数组)
  8. JAVA代码实现hive连接mysql_Java采用JDBC的方式连接Hive(SparkSQL)
  9. php中throw try,PHP的Try, throw 和 catch简单用法_PHP教程
  10. neo4j安装_怎样安装Neo4j APOC扩展包?