Walle部署的經驗

一. 項目配置

 

=================================================================================================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}

 

三. 建立上線單,部署

 

  

點擊個人上線單

 

點擊建立上線單

  

選擇本身建立的項目

  1. 填寫上線單標題
  2. 選取分支
  3. 版本選取:選擇相應的git記錄
  4. 全量/增量:java項目只能用全量
  5. 點擊提交

點擊提交上線

點擊部署

部署過程當中,若是錯誤了,下方會有提示,不過最好打開日誌查看,日誌路徑在/tmp/walle下,若是沒有此路徑,新建一個

 

部署須要注意的: 在walle部署前,先殺掉須要部署的tomcat的進程,再點擊部署

相關文章
相關標籤/搜索