授之以漁-運維平臺發(fā)布模塊四(回滾篇)

片頭的碎碎念可免,最近的工作事情太多躺翻,無法做到每天一更新了,我會努力把欠的債都還上~

接上篇《授之以漁-運維平臺發(fā)布模塊三(Jenkins篇)》,今天介紹下項目的回滾永罚。

一特石、 回滾思路

引用前文:

采用系統(tǒng)方案:YUM

Paste_Image.png

我當(dāng)時的思路:公司是等保三級的單位盅蝗,在當(dāng)初我制定內(nèi)網(wǎng)規(guī)則的時候,強烈建議SSH登錄范圍必須限定姆蘸,統(tǒng)一的入口可以極大的減少被黑客跳板式攻擊的可能墩莫,所以我想到了是用YUM更新的方式:

  1. 發(fā)布:把代碼從SVN上遷出后,打成RPM包(強烈推介FPM)
  2. 更新:通過YUM的特性逞敷,更新的程序包每次保持版本號+1狂秦,例如test-519-1.x86_64(519就是Jenkins的發(fā)布版本號),服務(wù)器每次只需要執(zhí)行以下2條命令即可推捐。

由于客戶端更新項目的方式采用YUM的方式裂问,回滾的方式也就是:

   yum remove xxxxx
   yum install xxxxx

二、 回滾方式

先通過Saltstack中pkg的remove牛柒,卸載當(dāng)前安裝包

    def remove(self):
        """刪除安裝包"""
        ret = self.client.cmd('%s'% self.host_list, 'pkg.remove', ['%s'% self.job],expr_form='list',ret='return_redis')
        true_hostlist = []
        for host in ret.keys():
            if ret['%s' % host] != {}:
                install_ret = ret['%s' % host]['%s' % self.job]
                if install_ret != '':
                    true_hostlist.append(host)
                else:
                    pass
            else:
                pass
        return true_hostlist

然后通過Saltstack中pkg的install堪簿,傳入一個需要回滾的版本號,例如api.xx.xx.xx.cn-192-1.x86_64皮壁,傳入192實現(xiàn)客戶端在安裝項目RPM包時椭更,不是安裝最新版本,而是安裝指定192版本蛾魄。

    def install(self,rollback_num=None):
        """YUM安裝項目RPM包"""
        if rollback_num == None:
            ret = self.client.cmd('%s'% self.host_list, 'pkg.install', ['%s'% self.job],expr_form='list',ret='return_redis')
        else:
            ret = self.client.cmd('%s'% self.host_list, 'pkg.install', ['%s-%s'% (self.job, rollback_num)],expr_form='list',ret='return_redis')
        true_hostlist = []
        for host in ret.keys():
            if ret['%s' % host] != {}:
                install_ret = ret['%s' % host]['%s' % self.job]
                if install_ret != '':
                    true_hostlist.append(host)
                else:
                    pass
            else:
                pass
        return true_hostlist

二虑瀑、 前端部分截圖

Paste_Image.png
Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末协饲,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子缴川,更是在濱河造成了極大的恐慌茉稠,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件把夸,死亡現(xiàn)場離奇詭異而线,居然都是意外死亡,警方通過查閱死者的電腦和手機恋日,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門膀篮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人岂膳,你說我怎么就攤上這事誓竿。” “怎么了谈截?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵筷屡,是天一觀的道長。 經(jīng)常有香客問我簸喂,道長毙死,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任喻鳄,我火速辦了婚禮扼倘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘除呵。我一直安慰自己再菊,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布颜曾。 她就那樣靜靜地躺著纠拔,像睡著了一般。 火紅的嫁衣襯著肌膚如雪泛啸。 梳的紋絲不亂的頭發(fā)上绿语,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機與錄音候址,去河邊找鬼吕粹。 笑死,一個胖子當(dāng)著我的面吹牛岗仑,可吹牛的內(nèi)容都是我干的匹耕。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼荠雕,長吁一口氣:“原來是場噩夢啊……” “哼稳其!你這毒婦竟也來了驶赏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤既鞠,失蹤者是張志新(化名)和其女友劉穎煤傍,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嘱蛋,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡蚯姆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了洒敏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片龄恋。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖凶伙,靈堂內(nèi)的尸體忽然破棺而出郭毕,到底是詐尸還是另有隱情,我是刑警寧澤函荣,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布显押,位于F島的核電站,受9級特大地震影響偏竟,放射性物質(zhì)發(fā)生泄漏煮落。R本人自食惡果不足惜敞峭,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一踊谋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧旋讹,春花似錦殖蚕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鞭呕,卻和暖如春蛤育,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背葫松。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工瓦糕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人腋么。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓咕娄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親珊擂。 傳聞我的和親對象是個殘疾皇子圣勒,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容