標籤:

gitlab 與walle配合搭建,無法檢測,請教一下這個是什麼原因?

宿主機代碼檢出檢測出錯,請確認php進程用戶ubuntu有代碼存儲倉庫/project/deploydata/sanjieke讀寫許可權,並且把ssh-key加入git的deploy-keys列表。詳細錯誤:

目標機器部署出錯,請確認php進程ubuntu用戶ssh-key加入目標機器的ubuntu用戶ssh-key信任列表,且ubuntu有目標機器發布版本庫/project/sanjieke寫入許可權。詳細錯誤:127.0.0.1 :


首先,關於Gitlab以及任何開源軟體的問題其實都應該去項目的郵件列表或者stackoverflow去問,知乎很顯然不是一個回答此類問題的合適的地方。(Gitlab的討論組用的是Google Group,到這裡去問https://groups.google.com/forum/#!forum/gitlabhq)

其次,我比較建議你直接用官方或者第三方的虛擬機或者Docker鏡像來直接搭建Gitlab,比如bitnami的就不錯。https://bitnami.com/stack/gitlab;如果你有多個相關的服務,也建議運行多個虛擬機/容器,然後互相在網路層面添加。比如gitlab配合運行jenkins或者你說的walle。


謝邀。

第一次看到知乎關於walle的提問,當然,有我在,walle的問題必須得到回答和解決。

walle可以和gitlab/github完美結合,當然svn也是一樣支持,題主的是gitlab,需要做的只有一個ssh-key認證,下面先了解背景,問題自然就出答案了。題主貼的問題是walle項目配置後檢測的結果,主要反映了兩個方面的問題:宿主機和目標機。宿主機是一個關聯所有目標機、gitlab/github的中樞機器,如下圖:

如果把宿主機的php進程用戶的ssh-key添加到gitlab/github、所有目標機群,配置就完成了90%。

如何添加?添加ssh-key信任的基本教程

先了解下幾個術語:

宿主機:walle服務安裝所在的機器

目標機:代碼要分發到的機群

ssh-key信任:可免密碼登錄,一個機器的一個用戶與一個機器的一個用戶通過ssh-key來建立信任(一般為RSA)

  1. 確認宿主機的php進程用戶:

vi php-fpm.conf
user = php-user # 看下用的是哪個用戶

ps aux|grep php-fpm # 也是可以的

2. 獲取宿主機的php進程用戶php-user的ssh-key

su - php-user
cat ~/.ssh/id_rsa.pub

php-user設置為no-login?先取消no-login,添加完ssh-key認證後再設置為no-login

3. 把2中的ssh-key複製,粘貼到gitlab的ssh-key列表中,並且加入所有目標機群指定用戶(題主的為:ubuntu,假定默認為www)的~/.ssh/authorized_keys中

4. 自行測試3是否完成通過

git clone ssh-git-url # 測試宿主機與gitlab是否添加信任
ssh www@12.34.56.78 # 測試宿主機與目標機12.34.56.78是否添加信任

上面1-4如無問題,即可快速配置一個項目,並檢測項目可用性。如果出現以下問題則可能是因為ssh-key信任沒添加好。

正式解答題主的問題

宿主機代碼檢出檢測出錯,請確認php進程用戶ubuntu有代碼存儲倉庫/project/deploydata/sanjieke讀寫許可權,並且把ssh-key加入git的deploy-keys列表。

如果是目錄許可權不對,給目錄一個ubuntu用戶讀寫許可權

chown -R ubuntu /project/deploydata/sanjieke
chmod -R 755 /project/deploydata/sanjieke

如果是沒有添加ubuntu的ssk-key添加到gitlab的ssh-key列表,則按上述1-4添加ssh-key後重新檢測。

目標機器部署出錯,請確認php進程ubuntu用戶ssh-key加入目標機器的ubuntu用戶ssh-key信任列表,且ubuntu有目標機器發布版本庫/project/sanjieke寫入許可權。

同樣,目標機上ubuntu對/project/sanjieke目錄有讀寫許可權,並且宿主機的ubuntu已經添加ssh-key信任到目標機127.0.0.1的ubuntu下,可以免密碼登錄。可按上述1-4添加ssh-key後重新檢測。

寫在後面的話:

walle發布1.0版本不久,已經有不少公司在線上使用了,得此認可,實在是件讓人開心的事兒。文檔也正在完善,新功能也在規劃和開發中,只是團隊成員太少了(我都不敢說人數),很多大家想要的功能都沒有及時滿足,實在是有愧啊:(, 有任何問題可以在github提issue、郵件,或者知乎 @吳水永 ,也可以加q群:482939318。謝謝關注walle項目,希望大家用得開心:)

Walle 主頁 | walle 文檔 | GitHub - meolu/walle-web: A Web Deployment Tool (web代碼部署工具)


非常感謝,系統已經搭建起來,創建了項目,但是遇到一個新問題,在部署的時候,報如下問題

上線出錯:(


代碼檢出後置任務操作失敗::

. /etc/profile
cd /opt/test/test/test/webapp-20170210-104402 cp
/letv/workspace/a /tmp/a echo "ok, it works fine." &>
/tmp/a

/opt/test/test 是代碼檢出倉庫路徑,下載代碼的實際變為/opt/test/test/test/webapp,而且沒有後面的-20170210-104402。


推薦閱讀:

如何高效地使用 Git
Git的初步使用教程
高大上的Git

TAG:Git |