=================================================================================================php
項目名稱:根據狀況填寫java
項目環境:測試環境,預發佈環境,線上環境linux
地址:填寫代碼檢出的地址,能夠是gitlab或是github或是svn等,若是是git,格式必須是ssh-url git
宿主機:運行Walle的機器github
代碼檢出倉庫:/data/www/deploy/from 注:必須在linux服務器上新建此目錄,walle會從git上拉代碼到此路徑web
排除文件:.git/.svn/README.md等不需上線的文件tomcat
=================================================================================================服務器
目標機器:須要部署項目的機器app
用戶:目標機器部署用戶,通常填root,由於權限最大ssh
webroot:/opt/tomcat-9080_walle/webapps/tarot_test 注:tomcat的webapps下項目打的包的名稱,「tarot_test」不能有這個路徑,Walle會幫你新建
發佈版本庫:每次發佈版本的存放路徑,每次發佈的時候會軟連接到相應的版本路徑
版本保留數:版本數
機器列表:部署到哪一個機器上,通常是IP地址,非22端口的則IP:端口
=================================================================================================
高級任務:填寫一些發佈前預準備的操做和發佈須要的命令
pre_deploy:暫時沒有用到
post_deploy: 一些maven打包,將獲取git更新的文件,拷貝到版本庫中,若有多條,一行一行寫,能夠在每行中間打印語句,來檢查是否執行到了
pre_release:給運行walle的用戶(以下圖用戶名是walle)部署的路徑的權限,具體地址看具體狀況
post_release:執行tomcat中止和重啓命令,通常寫成腳本,以下圖
=================================================================================================
以上信息所有填好以後,點擊提交
宿主機代碼檢出檢測出錯,請確認php進程用戶{user}有代碼存儲倉庫{path}讀寫權限,且把ssh-key加入git的deploy-keys列表。詳細錯誤:{error}
問題:請確認php進程用戶{user}有代碼存儲倉庫{path}讀寫權限
沒有權限,是由於用戶{user}對目錄{path}沒有讀寫權限,給權限便可 ll {path} chown {user} -R {path} chmod 755 -R {path} |
問題:把ssh-key加入git的deploy-keys列表
su {user} && cat ~/.ssh/id_rsa.pub 打開 github/gitlab/bitbucket 網站, 添加 ssh-key 到ssh-keys列表 添加完以後,用user來git clone項目源碼,拉下來以後則能夠經過此錯誤 |
目標機器部署出錯,請確認php進程{local_user}用戶ssh-key加入目標機器的{remote_user}用戶ssh-key信任列表,且{remote_user}有目標機器發佈版本庫{path}寫入權限。詳細錯誤:{error}
問題:請確認php進程{local_user}用戶ssh-key加入目標機器的{remote_user}用戶ssh-key信任列表
添加機器信任,仍是沒理解請百度吧(由於太多的同窗問這問題,實在沒辦法只能這麼囉嗦) su {local_user} && ssh-copy-id -i ~/.ssh/id_rsa.pub remote_user@remote_server # need remote_user's password 須要local_user 添加目標機器root用戶的免密碼登陸 |
問題:{remote_user}有目標機器發佈版本庫{path}寫入權限
su remote_user ll {path} chown {remote_user} -R {path} chmod 755 -R {path} |
點擊個人上線單
點擊建立上線單
選擇本身建立的項目
點擊提交上線
點擊部署
部署過程當中,若是錯誤了,下方會有提示,不過最好打開日誌查看,日誌路徑在/tmp/walle下,若是沒有此路徑,新建一個
部署須要注意的: 在walle部署前,先殺掉須要部署的tomcat的進程,再點擊部署