個人博客的自動構建與部署

最近對自己的博客做了些小的修改,部署的時候需要登錄到服務器拉取代碼后進行構建部署等操作,由于有些命令有些長,我不太能記得住,翻找歷史命令時都覺得自己很傻比。一開始想著把命令都記到一個文本里面,下次就直接復制,再細想,不如此徹底一點,做成自動構建和部署,這樣下次把修改代碼提交到GitHub后,直接點擊一個按鈕就輕輕松松部署成功了。

首先是梳理一個自動構建部署流程。在構建服務器上獲取源代碼并進行構建,將構建后的代碼發(fā)送到目標服務器,在目標服務器上執(zhí)行腳本進行部署。過程中使用Jenkins作為自動化工具;構建與部署都在docker容器內進行,盡量做到與服務器環(huán)境無關;使用ssh來執(zhí)行遠程腳本,使用scp將構建后的代碼上傳到目標服務器。具體腳本,請查閱build.sh

具體過程中踩過的一些的坑:

  1. 需要將Jenkins用戶加入docker組中,不然Jenkins沒有執(zhí)行docker的權限

  2. 開啟ssh互信時,直接復制粘貼公鑰到目標服務器authorized_keys文件中仍然有可能提示未認證,可以使用ssh-copy-id命令來發(fā)送,具體請看這里

  3. 需要在Jenkins用戶下開啟ssh互信,在centos7下切換Jenkins用戶時需要注意Jenkins用戶可能是禁止登陸裝填,請自行查看并修改/etc/passwd文件

其實遇到的這些問題解決起來都比較很簡單,但是如何定位到問題所在卻沒那么簡單,尤其是在錯誤提示不明顯的情況下。對于不熟悉Linux的人來說(比如我),更是需要查許多資料,每次都會覺得自己好蠢,orz。

由于偷懶,自動化測試和回滾部分就略去了。

下次再見。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容