Swift Perfect服務(wù)器端的自動(dòng)化部署

如果你覺(jué)得文章幫助了你, 關(guān)注我不迷路, 后面還會(huì)分享Perfect的更多姿勢(shì).

最開(kāi)始學(xué)習(xí)Perfect框架的時(shí)候, 就思考過(guò)如何部署.后來(lái)也試過(guò)不少方式, 在今天一個(gè)比較特殊的情況下, 找到了一個(gè)我覺(jué)得目前最完美的部署方式.當(dāng)然, 如果你用的是Perfect官方支持的阿里云, 亞馬遜, 谷歌云這三種, 那么請(qǐng)直接前往這個(gè)地址就可以了. http://perfect.org/zh/assistant/

image.png

如果你和我一樣, 用的是普通的vps, 那么, 請(qǐng)繼續(xù)往下看.(貧窮使我觸發(fā)無(wú)限可能 -. -)

也許我的部署方式并不是最完美的, 如果你有更好的方式, 可以在下面評(píng)論告訴我.不甚感激.

曾經(jīng)嘗試過(guò)的部署方式思路, 有幾種.

1.通過(guò)在服務(wù)器用git的鉤子進(jìn)行部署, 在服務(wù)器上, 會(huì)有兩個(gè)用戶, 一個(gè)root用戶,
一個(gè)git用戶, 但是如果不用root權(quán)限的話, git權(quán)限的用戶找不到編譯環(huán)境, 如果強(qiáng)行把編譯環(huán)境修改到git權(quán)限的用戶,那么root用戶又無(wú)法編譯了. 自動(dòng)編譯不能用, 所以只能手動(dòng)編譯和啟動(dòng). 在無(wú)法找到更完美的部署方式前, 一直用的這個(gè).
我目前的操作步驟, 在服務(wù)器上創(chuàng)建一個(gè)git文件夾, 然后通過(guò)鉤子, 監(jiān)聽(tīng)到push后, 打包該文件, 拷貝到一個(gè)編譯目錄, (直接在原來(lái)的目錄上進(jìn)行編譯, 也是可以的), 然后解壓, 解壓后手動(dòng)通過(guò)ssh進(jìn)行編譯和啟動(dòng).

2.通過(guò)官方支持的docker進(jìn)行部署, 但是在本地docker環(huán)境里面進(jìn)行編譯的時(shí)候, 始終無(wú)法完成編譯, 說(shuō)缺少openssl的一個(gè)頭文件,但是在本地編譯是正常的.在兩臺(tái)系統(tǒng)版本號(hào)不同的電腦上, 都嘗試過(guò), 結(jié)果一樣, 所以不知道是哪里錯(cuò)了...很無(wú)奈...

3.這一種方式, 也是目前我個(gè)人發(fā)現(xiàn)的最完美的方式了.

不多BB, 看思路圖.

image.png

所用到的環(huán)境以及工具

1 寶塔面板

讓服務(wù)器ssh界面化, 也是自動(dòng)化部署的關(guān)鍵, 你可以采取其他的監(jiān)聽(tīng)webhook的方式, 也可以達(dá)到同樣目的

在使用面板的時(shí)候, 設(shè)置好代碼的端口后(比如8080), 記得在這個(gè)里面對(duì)你的端口進(jìn)行放行, 否則無(wú)法訪問(wèn).

image.png

2 阿里云代碼托管

3 Ubuntu服務(wù)器

4 把Ubuntu服務(wù)器的公鑰添加到阿里云代碼托管平臺(tái)

操作步驟

1.在代碼托管平臺(tái)創(chuàng)建代碼倉(cāng)庫(kù).

2.在服務(wù)器創(chuàng)建你存放Perfect代碼的目錄, 對(duì)代碼平臺(tái)的代碼倉(cāng)庫(kù)進(jìn)行g(shù)it clone

3.在寶塔面板上安裝webhook

注: 通過(guò)寶塔面板可以訪問(wèn)操作文件和文件夾, 并且面板自帶了很多有用的工具, nginx, 數(shù)據(jù)庫(kù), 等.我覺(jué)得非常方便友好, 并且這個(gè)東西是免費(fèi)的, 一鍵安裝, 強(qiáng)烈建議使用. 具體有哪些功能你可以去官網(wǎng)看, 反正點(diǎn)一下又不會(huì)懷孕不是. http://bt.cn

image.png

4.安裝完后添加Hook.名稱(chēng)隨便寫(xiě).

image.png

腳本內(nèi)容如下(你也可以根據(jù)你自己的情況進(jìn)行精簡(jiǎn)), 導(dǎo)入編譯環(huán)境的教程地址 http://www.reibang.com/p/538b685b6a62

image.png

5.把添加后的面板請(qǐng)求地址和密匙添加到代碼倉(cāng)庫(kù)的webhooks(我是用push事件來(lái)做的.你也可以用其他方式.比如tag)

image.png
image.png

6.添加成功后, 就會(huì)像這樣

image.png

7.都設(shè)置成功后, 你可以在你的面板上測(cè)試面板的webhook操作是否正確, 阿里云代碼托管平臺(tái)也可以測(cè)試發(fā)起請(qǐng)求的操作是否正確. TEST HOOK

8.在本地拉取阿里云代碼倉(cāng)庫(kù)的代碼, 進(jìn)行代碼提交, 觸發(fā)以上一系列的webhook.

以下是成果圖
image.png
image.png
image.png

簡(jiǎn)潔思路: 如果你設(shè)置的是push事件, 當(dāng)阿里云代碼托管收到你的代碼push后, 會(huì)去請(qǐng)求服務(wù)器的webhook, 服務(wù)器的webhook收到請(qǐng)求后, 會(huì)在服務(wù)器進(jìn)行1進(jìn)入代碼目錄, 2拉取阿里云的代碼, 3編譯并且啟動(dòng)的操作.感受自動(dòng)化部署的愉悅吧!

如果你覺(jué)得文章幫助了你, 關(guān)注我不迷路, 后面還會(huì)分享Perfect的更多姿勢(shì).

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市烟号,隨后出現(xiàn)的幾起案子绊谭,更是在濱河造成了極大的恐慌,老刑警劉巖汪拥,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件达传,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡喷楣,警方通過(guò)查閱死者的電腦和手機(jī)趟大,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)铣焊,“玉大人逊朽,你說(shuō)我怎么就攤上這事∏粒” “怎么了叽讳?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵追他,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我岛蚤,道長(zhǎng)邑狸,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任涤妒,我火速辦了婚禮单雾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘她紫。我一直安慰自己硅堆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布贿讹。 她就那樣靜靜地躺著渐逃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪民褂。 梳的紋絲不亂的頭發(fā)上茄菊,一...
    開(kāi)封第一講書(shū)人閱讀 49,144評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音赊堪,去河邊找鬼面殖。 笑死,一個(gè)胖子當(dāng)著我的面吹牛雹食,可吹牛的內(nèi)容都是我干的畜普。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼群叶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼吃挑!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起街立,我...
    開(kāi)封第一講書(shū)人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤舶衬,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后赎离,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體逛犹,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年梁剔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了虽画。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡荣病,死狀恐怖码撰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情个盆,我是刑警寧澤脖岛,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布朵栖,位于F島的核電站,受9級(jí)特大地震影響柴梆,放射性物質(zhì)發(fā)生泄漏陨溅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一绍在、第九天 我趴在偏房一處隱蔽的房頂上張望门扇。 院中可真熱鬧,春花似錦揣苏、人聲如沸悯嗓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至铅祸,卻和暖如春坑质,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背临梗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工涡扼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人盟庞。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓吃沪,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親什猖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子票彪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

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

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)不狮,斷路器降铸,智...
    卡卡羅2017閱讀 134,601評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,522評(píng)論 25 707
  • 寫(xiě)這篇日記是為了記錄下這一年多的心理歷程推掸,從焦慮癥開(kāi)始時(shí)的毫無(wú)頭緒,到現(xiàn)在終于有了清楚的自我認(rèn)識(shí)驻仅,我不知道以后我會(huì)...
    顧一禾閱讀 660評(píng)論 5 3
  • 林奕華的舞臺(tái)劇《三國(guó)》里谅畅,讓我印象最深刻的一幕是“諸葛亮三氣周瑜”,那一幕噪服,諸葛亮說(shuō)我只要說(shuō)三句話就能氣死你毡泻。周瑜...
    slowlife小姐閱讀 285評(píng)論 0 1
  • 編者|肖童鞋 編輯|肖童鞋 1牙捉、綠茶的品質(zhì)特點(diǎn) 茶葉品質(zhì)的好壞竹揍,是由鮮葉質(zhì)量、采制技術(shù)決定的邪铲,鮮葉質(zhì)量又受...
    極致茶文閱讀 411評(píng)論 0 0