walle是最近發(fā)現(xiàn)的一個比較簡單好用的項目部署系統(tǒng),可以關(guān)聯(lián)GitHub橙弱、Gitlab具伍、碼云等一些Git平臺,所以今天就測試了一下它的可用性纵散。
截止到2017年12月10號梳码,看Git上面最后的代碼提交是2017年10月18號,所以作者還是在維護(hù)狀態(tài)的困食,walle的功能是下面這些:
1.用戶分身份注冊边翁、登錄
2.開發(fā)者發(fā)起上線任務(wù)申請、部署
3.管理者審核上線任務(wù)
4.支持多項目部署
5.支持多項目多任務(wù)并行
6.快速回滾
7.項目的用戶權(quán)限管理
8.部署前準(zhǔn)備任務(wù)pre-deploy(前置檢查)
9.代碼檢出后處理任務(wù)post-deploy(如vendor)
10.同步后更新軟鏈前置任務(wù)pre-release
11.發(fā)布完畢后收尾任務(wù)post-release(如重啟)
12.執(zhí)行sql構(gòu)建(不要擔(dān)心忘記測試環(huán)境sql同步)
13.線上文件指紋確認(rèn)
14.支持git硕盹、svn版本管理
walle的官網(wǎng)http://www.walle-web.io/已經(jīng)有很詳細(xì)的系統(tǒng)的部署步驟了符匾,現(xiàn)在把我今天下午遇到的一些問題簡單的說一下。
宿主機(jī)就是部署walle系統(tǒng)的主機(jī)瘩例,存放從Git服務(wù)器上pull下來的代碼啊胶,目標(biāo)機(jī)群就是線上服務(wù)器。
walle就是一個可以讓你的線上部署環(huán)境和Git服務(wù)器能夠關(guān)聯(lián)起來的一個擔(dān)任中間人的系統(tǒng)垛贤,所以你需要得到從Git服務(wù)器上拉取代碼的權(quán)限和往線上服務(wù)器上同步文件的權(quán)限焰坪。
獲取宿主主機(jī)從Git上面pull代碼的權(quán)限那就需要你把自己電腦的id_rsa.pub公鑰加入到Git的SSH KEY配置中,以GitHub為例:
往Git上面添加公鑰的時候聘惦,key的title一定要和你的宿主主機(jī)的PHP服務(wù)用戶的名稱一樣某饰,比如我在我的Mac上名稱是sunzexin,那么key的title也是sunzexin善绎,不然一直會提示.id_rsa.pub沒有配置對的錯誤黔漂。
然后就是把自己的宿主主機(jī)列入線上主機(jī)的白名單中,可以免密登錄禀酱,如果你在walle系統(tǒng)中配置項目的目標(biāo)機(jī)群用戶名是root炬守,那么你需要在線上服務(wù)器的/home/root/.ssh/(CentOS服務(wù)器root的根目錄好像直接在/root下,不需要/home/root),然后找到authorized_keys這個文件剂跟,這個就是授權(quán)的配置文件减途,你需要把宿主主機(jī)的.id_rsa.pub里面的內(nèi)容追加到這個文件中,這樣就能夠授權(quán)成功了曹洽。
接下來到提交上線單這一步鳍置,選擇一個環(huán)境,比如我要上線到測試環(huán)境中:
在這一步點(diǎn)擊發(fā)布之后一直會有一個線上服務(wù)器沒有權(quán)限覆蓋文件的權(quán)限,你需要保證你的網(wǎng)站初始化的時候網(wǎng)站根目錄的上一級目錄是walle自己創(chuàng)建的,不用自己去創(chuàng)建砖第,比如網(wǎng)站根目錄的路徑是:/data/wwwroot/test撤卢,那么wwwroot這個目錄需要walle的創(chuàng)建,以保證walle的系統(tǒng)對它有一些需要的權(quán)限梧兼。
以上三點(diǎn)是我測試walle部署系統(tǒng)時踩過的坑放吩。