傳統(tǒng)的線上部署方式是通過ftp手動部署項目玫芦,一個項目還好慎王,當(dāng)項目多或者項目不停的版本迭代的時候蚓土,這種方式就顯的很繁瑣,于是需要尋求一種更加智能的方式來部署線上項目赖淤,很多公司內(nèi)部都是自己開發(fā)蜀漆,原理都大同小異,通過腳本+shell命令方式部署咱旱,本文主要介紹利用開源的系統(tǒng)walle進(jìn)行服務(wù)器搭建的過程确丢。
官網(wǎng)文檔:https://www.walle-web.io/docs/
下面介紹基于centos 7+lamp進(jìn)行環(huán)境搭建的過程,lamp環(huán)境安裝請自行百度吐限,建議通過源碼安裝鲜侥,阿里云有提供一鍵安裝腳本,不過軟件不是最新的诸典。
一描函、安裝walle
具體安裝方法請按照官方文檔。我是安裝在內(nèi)網(wǎng)的centos 7環(huán)境狐粱;
二舀寓、配置ssh-key
該步驟其實是建立免密碼登錄遠(yuǎn)程服務(wù)器,walle一般是通過php-fpm的用戶進(jìn)行操作肌蜻,通常為www用戶互墓,所以需要在www用戶下建立服務(wù)器ssh-key。
假設(shè)我內(nèi)網(wǎng)服務(wù)器為a蒋搜,遠(yuǎn)程服務(wù)器為b篡撵。
在內(nèi)網(wǎng)服務(wù)器a需要進(jìn)行的命令如下:
su www
ssh-keygen -t rsa
然后一路回車
如果需要建立root用戶ssh免密碼登錄瀑粥,需求進(jìn)行如下命令:
ssh-copy-id -i ./id_rsa.pub root@【b服務(wù)器的IP】
然后查看生成的公鑰內(nèi)容:
cat id_rsa.pub
復(fù)制顯示的內(nèi)容盟戏,進(jìn)行下一步,
在外網(wǎng)服務(wù)器b需要進(jìn)行的命令如下:
su www
cd ~/.ssh #沒有目錄則新建
vi authorized_keys
填寫復(fù)制的公鑰內(nèi)容到文件里面洋访,保存退出即可
驗證能否登錄
在a服務(wù)器執(zhí)行命令:
ssh www@【b服務(wù)器的IP】
正常情況會出現(xiàn)登錄成功提示
三祷杈、新建項目
搭建好walle后登錄系統(tǒng)斑司,登錄賬號密碼為admin,然后新建系統(tǒng)但汞,按照官方文檔新建即可宿刮,此處需要注意的是地址可以是http協(xié)議和svn協(xié)議
添加成功后點(diǎn)擊檢測,提示配置成功私蕾,如果提示錯誤僵缺,通常都是ssh-key配置不成功。
三踩叭、總結(jié)
1磕潮、如果ssh 遠(yuǎn)程登錄服務(wù)器提示需要密碼翠胰,則表示配置沒有成功,通常是authorized_keys文件名有空格或者其里面的內(nèi)容有空格自脯,刪除重新建即可之景。
2、walle可以同時發(fā)布多個域名膏潮,只需要在服務(wù)器列表那填寫即可锻狗。
3、如果SVN沒有tag或者branch焕参,不要選擇這兩項轻纪,默認(rèn)是選中的。