游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

JenkinsGitlab通过脚本自动部署回滚web项目版本

  扩展文章:GitlabJenkins通过钩子实现自动部署web项目一:基础环境介绍及准备
  不在通过钩子自动部署至web服务器,需要自己通过脚本在Jenkins选择版本或者服务器发布回滚。
  灵活性更高,对于集群来说也实用。
  1:Gitlab服务器
  ubuntu192。168。152。131参考搭建:Linux安装gitlab,docker安装gitlab教程
  2:Jenkins服务器
  ubunu192。168。152。130参考搭建:linux安装Jenkins,或docker安装Jenkins教程
  生成ssh密钥,发布至web服务器。sshkeygentrsasshcopyidroot192。168。152。150sshcopyidroot192。168。152。151
  3:web服务
  centos192。168。152。150测试环境
  centos192。168。152。151正式环境
  已安装nginx,nginx配置文件配置网站目录为wwwwebproject
  4:开发者电脑
  Windowskey密钥(用于提交代码)
  二:gitlab添加密钥
  gitlab添加jenkins和开发者电脑sshkey密钥,实现无密码获取代码或者提交代码,如图,已添加好。
  三:在开发者电脑提交代码,并标记Tag标签版本至gitlab
  对于回滚发布,按提交的Tag标签进行选择。
  所以在提交代码时,需打上tag标签。
  在开发者电脑,分别提交几个版本并打上tag标签。echowebv1。0projectindex。htmlgitadd。gitcommitmv1。0gittagav1。0mv1。0gitpushoriginv1。0echowebv1。1projectindex。htmlgitadd。gitcommitmv1。1gittagav1。1mv1。1gitpushoriginv1。1echowebv1。2projectindex。htmlgitadd。gitcommitmv1。2gittagav1。2mv1。2gitpushoriginv1。2echowebv2。0projectindex。htmlgitadd。gitcommitmv2。0gittagav2。0mv2。0gitpushoriginv2。0
  提交完成后,在gitlab可看见版本如下图所示:
  四:配置Jenkins
  1:确认已安装GitParameterPlugIn插件
  2:新建一个空白web项目
  我项目名为webnginx
  3:在General设置参数
  在General选择Thisprojectisparameterized,此项目使用参数化构建。
  选择GitParameter设置,则从gitlab获取参数。
  设置参数gitversion,获取版本号,及gitlab的tag
  然后再次选择ChoiceParameter设置,自定义选择参数。
  设置status参数,选择发布deploy还是回滚rollback
  设置server参数,选择test测试服务器还是online正式服务器
  4:在源码管理设置
  添加源码,选择git,同时配置好用户,添加可参考我开头链接的扩展文章。
  这里branch设置为上面设置的gitversion参数。
  5:在构建build设置
  选择执行操作为Executeshell。
  然后写上脚本执行路径及名称,我脚本名在Jenkins服务器scriptjenkinsweb。sh
  编写自动化部署与回滚脚本,本人脚本内容可参考:
  路径设置:
  Jenkins服务器:optweb项目打包位置
  web服务器:opt包传送位置
  datawww包解压位置
  wwwwebproject软链接给nginx的web位置!binbashsetx在编写时可添加此选择,用于详细打印输入,可直观看到脚本执行过程服务器选择,也可分别添加多个服务器,用于集群布置testserver192。168。152。150onlineserver192。168。152。151DATE(dateYmdHM)NAME{DATE}{gitversion}日期加版本号getcopy(){拉取代码并打包file(findoptwebmaxdepth1grepweb。{gitversion}。tar。gz)if〔n{file}〕;thenecho{gitversion}版本包已经存在pkg{file}elseecho{gitversion}版本包不存在,开始打包cd{WORKSPACE}项目的绝对路径变量,Jenkins内置参数,即varlibjenkinsworkspacedevopslabsudotarczvfoptwebweb{NAME}。tar。gz。pkgweb{NAME}。tar。gzfi}deployweb(){远程复制至服务器并部署项目file(sshroot{IP}finddatawwwmaxdepth1grepweb。{gitversion}。tar。gz)验证版本文件是否存在if〔n{file}〕;thenecho您在{server}服务器上已部署过{gitversion}版本项目,请选择回滚rollback,或者其他版本部署deployexit1elsescpoptweb{pkg}root{IP}:optsshroot{IP}mkdirdatawww{pkg}ptarxfopt{pkg}Cdatawww{pkg}rmrfwwwwebprojectlnsdatawww{pkg}wwwwebprojectusrsbinnginxsreloadfi}版本回滚函数rollbackweb(){file(sshroot{IP}finddatawwwmaxdepth1grepweb。{gitversion}。tar。gz)验证版本文件是否存在if〔n{file}〕;thenecho{server}服务器上{gitversion}版本不存在,回滚失败elseecho回滚包为{file},准备执行回滚sshroot{IP}rmrfwwwwebprojectlns{file}wwwwebproject把取到的版本目录软连接到htmlecho回滚完成!!!fi}状态发布还是回滚函数statusweb(){if〔〔statusdeploy〕〕;thengetcopydeploywebelif〔〔statusrollback〕〕;thenrollbackwebfi}通过if判断时正式服务器还是测试服务器。if〔〔servertest〕〕;thenforIPintestserverdostatuswebdoneelif〔〔serveronline〕〕;thenforIPinonlineserverdostatuswebdonefi
  布置网站选择lns软连接,为了回滚时,可达到秒级。
  Jenkins布置完成,现在可以测试。五:测试发布回滚
  1:发布版本
  发布1。0的版本,分别发布至test和online测试。
  发布成功,没有报错,进去可查看详细输出日志。
  打开浏览器访问web,也正常显示
  2:测试发布升级新版本
  发布1。2的版本,分别发布至test和online测试。
  3:测试回滚旧版本
  脚本内容,只能回滚已经存在的版本,不存在则报错。
  如下:回滚v1。0正常,回滚没有的v1。1报错,因为v1。1没有发布过。
  v1。0回滚成功。
  v1。1回滚失败,因为v1。1没有发布过。
  网页无变化
  剩下可自行测试,这里就布置完成了。六:版本包数量限制脚本(扩展)
  在实际生产中,不可能无限制的存在所有的包,否则,磁盘终究会满。可以写个脚本,对版本包数量做限制。!binbashReservedNum10保留文件数FileDiroptwebdate(dateYmdHM)cdFileDir进入备份目录FileNum(lslwcl)当前文件夹有几个文件包,即几个备份while((FileNumReservedNum))doOldFile(lsrthead1)获取最旧的那个文件echodateDeleteFile:OldFilermrfFileDirOldFileletFileNumdone

南宁有什么美食?南宁有什么美食?到一个地方旅游,特别是自由行到一个地方旅行,除了当地风景,寻找当地的美食,也是令人印象深刻的。到南宁旅游也一样,南宁除了青秀山、南宁大明山、广西龙虎山风景……什么美食是茂名的名片?茂名有很多乡土美食,而且有的非常独特。我知了哥是土生土长的茂名人,对茂名的本地美食非常着迷。如果让我推举茂名十大美食名片,我的推介如下:一是茂名盐焗鸡、油焗鸡、香油鸡等。……一张烂牌打成王炸,从全网黑到荣誉军嫂,张馨予到底经历了什么文娱趣追星记编辑娱趣追星记从满身黑料,到全民军嫂,张馨予的传奇故事小说照进了现实,说的应该就是张馨予,她是一个误入娱乐圈的普通女孩,别人都是出道即巅峰,而她是……23道麻辣菜品,食材丰富,有凉菜也有热炒,呈现菜品多元化香辣海螺材料:海螺肉、红椒块、姜末、葱段、蒜末、干辣椒段、花椒、香油、豆瓣酱、盐、味精、白糖、醋、鲜汤。1。将海螺肉洗净,改花刀,入沸水中汆烫透。2。油锅烧热……吃剩的西瓜皮别扔了,放到锅里炒一炒,没想到这么好吃,解馋开胃导语:吃剩的西瓜皮别扔了,放到锅里炒一炒,没想到这么好吃,解馋开胃!俗话说得好人间烟火气,最抚凡人心,闲品岁月,慢煮时光,在每一碗人间烟火中畅享人生,便是最好的生活。大家……CPU模型,内存分页与调优,内核与用户空间CPU模型去过机房的同学都知道,一般在大型服务器上会配置多个CPU,每个CPU还会有多个核,这就意味着多个CPU或者多个核可以同时(并发)工作1。1CPURegister……2022年度汇算申报开始灵活就业更多保障赏花出游攻略本周提示这周有哪些重要民生提示?哪些重要时间节点?我们整理本周重要提示,希望对大家安排自己一周的生活有所帮助。本周!划!重!点!啦!全国两会开幕、2022年度汇算申报开始、就业促……现在一些买散装酒的地方卖的十元一斤的酒是纯粮酒么?为什么这么本人农村出生,父亲喝了一辈子自己酿的烧米酒。老父亲看着酒缸还剩下一半,就开始煮酒饭,等饭凉了就翻,然后放酒曲发酵米饭,发酵三到五天左右开始出甜酒,小时候的最爱了,非常清甜,不过……请问全昆明是否还有吃鳝鱼米线的地方?米线作为云南人最喜爱的美食之一,各地做法又各具特色。从帽子不同来区分,有囟鸡米线,鸡丝米线,鳝鱼米线,焖肉、羊肉、杂酱、红烧牛肉等等。其中鳝魚米线因鳝鱼帽子,兼具了……研维新款工业一体机触摸推荐哪款嵌入式工控机品牌研维新款工业一体机触摸推荐哪款嵌入式工控机品牌视频加载中。。。触摸屏工业电脑嵌入式工业平板电脑触摸屏工业电脑嵌入式工业平板电脑触摸屏工业电脑嵌入式工业平……家常鸡排的做法,材料简单,不用油炸,出锅外皮焦脆,肉质鲜嫩鸡排我是在一段它很火的时候认识的,那个叫什么某新的鸡排,外卖上见到最多的就是它了,12块钱一大份,还可以选择口味。鸡排确实好吃,外皮酥脆,内里的肉紧致鲜嫩,吃着特别香,还可以选……半斤大米1个茄子,锅里一焖,比吃红烧肉还过瘾,孩子天天嚷着吃大家好,我是:为爱下厨教你省心、省力,的做法与技巧让饭菜充满浓浓家乡的味道让我们一起努力成长,做出不一样的独特美食做出充满爱的美食,做法简单还快捷……
有效抑制肿瘤复发!三招教你抵御癌细胞死灰复燃俗话说:三分治疗七分养。无论是正在治疗的还是结疗后的肿瘤患者,饮食、运动问题一直是大家热议的话题。选择好最佳的饮食、运动方式,对于肿瘤患者整个康复进程则会起到事半功倍的效果!一……好听脱俗的仙女名字清水芙蓉之貌,顾盼生辉之态,气若幽兰之韵是女子美丽的象征。父母生了女孩之后总是盼望着女孩能够长得貌如朝霞流萤,那么不妨从小细节开始培养女孩唯美气质,如给女孩起个好名字。那么女孩……平板界全球首发MagicOS7。0天玑8100!荣耀平板V812月20日,荣耀官方公布更多关于荣耀平板V8Pro这款旗舰平板的信息,分别是两大全球首发:平板行业内全球首发MagicOS7。0系统以及平板行业内全球首发天玑8100芯片。以……比排骨还好吃的香菜牛肉,鲜香滑嫩,多给孩子吃还能长大个,美味比排骨还好吃的香菜牛肉,鲜香滑嫩,多给孩子吃还能长大个,美味今天我给大家分享一道超级美味的香菜牛肉,美味下饭,超级的有营养,而且颜色搭配也是极好的,在外面是买不到的,可以……茄子超好吃的做法,不蒸也不凉拌,酱香味十足,出锅全家都喜欢大家好,我是晓雅。今天我来跟大家分享一个茄子非常好吃的做法,酱汁茄子。茄子可以说是我们日常生活中很常见的一种蔬菜了。茄子有着独特的风味,软嫩微柔的口感,无论南北,都很受人们的欢……给上班推荐几道实惠又健康色香味俱全的家常菜来补充营养!莫愁厨路无知己,谁人不识高大厨。大家好!我是高大厨。今天和大家分享几道家常菜:凉拌粉丝材料:干粉丝1把,鸡蛋1个,黄瓜1根,胡萝卜1根,生抽3勺,醋2勺,白糖1勺,……一个电饭锅搞定全家一顿饭!这样的焖饭天天吃也喜欢!曾经有朋友问我,说爱吃却懒得做,能不能用电饭锅简简单单地焖一锅好吃的?当然能呀!懒人有懒做法,照样营养美味!电饭锅别只知道焖白米饭,还可以焖好多种饭,饭菜一锅……中国有些酱油是用豆子做的,那日本酱油都是用什么做的?我曾经在2016年去了一趟日本,专门为了探访日本酱油和中国酱油的区别。要弄清楚酱油好吃的秘密,首先应该看看酱油是怎么酿成的,以下插画来自我们福桃九分饱的插画师沉清:酱油的……中国第一大省广东省十大富豪广东省是中国富豪最多的省份,全国富豪榜广东占了四百多位,让我们看一下广东最富有的这10个家族吧点个关注吧,了解全国各地大人物的故事1,马化腾腾讯公司主要创办人……春节家宴聚餐,餐桌上必备15道硬菜,现在学起来,过年待客特有过年的脚步越来越近了,小时候最喜欢过年了,可以穿新衣,还可以吃很多好吃的。过年的时候走亲访友是少不了的,家庭聚会朋友聚餐也是必不可少的,春节家宴聚餐,餐桌上总少不了一些硬菜,尤……云顶之弈双人最强矛盾组合,学院永恩塞恩盾狙Hello,大家好,我是兔子,今天给大家带来双人模式上分阵容:学院永恩塞恩盾狙。这套阵容吃分极其稳定,不同于以往的4,5费连败搭配,双4费主C,我们均在35D卡抢牌,冲出两星,……英超最新积分榜切尔西被热刺读秒绝平,铁锤帮惨遭开局2连败昨晚今晨,英超联赛第2轮再战2场,切尔西主场22战平热刺,2名后卫库利巴利和里斯詹姆斯破门,凯恩第95分钟绝平,孔蒂与图赫尔发生激烈冲突;诺丁汉森林主场10击败西汉姆联,取得赛……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网