2014-03-27 75 views
2

我想部署一個* .war文件到OpenShift。OpenShift二進制部署,tar.gz結構

看着OpenShift文檔後,我找到了一種二進制文件部署到OpenSHift:

rhc deploy path_to_binary -a application_name 

然而,部署簡單的* .war文件失敗,出現以下消息:
錯誤消息:無法提取部署歸檔使用命令:/ bin/tar -xz
它看起來像OpenShift要求將二進制文件打包爲tar.gz歸檔文件。

所以,我的問題是:
* .tar.gz,我可以部署到OpenShift的結構是什麼?
奇怪,但我無法在文檔中找到此信息。

回答

2

如果你想部署你的WAR文件(你在本地構建)打開Shift這裏的步驟。

  1. 打開Shift依賴於GIT作爲其工作流程的一部分。爲了縮短這一點,您需要刪除構建依賴關係。因此,首先通過發出git clone命令克隆您的刪除代碼庫環境。
  2. 從克隆的目錄
  3. 下一頁刪除「src」目錄,也是「的pom.xml」文件發出git的承諾-am提交更改和刪除「我刪除的東西」
  4. 也做到了git push將更改部署到您的設備。
  5. 使用SCP或SFTP將您的WAR文件上傳到相應的目錄。對於Tomcat,它是像應用程序根/依存/ jbossews/webapps中
  6. 運行RHC尾$ APPNAME看你的web應用程序部署日誌
  7. 您的應用程序應該下運行:你-app-domain.rhcloud.com/yourApp

  8. 要刪除/取消部署您的應用程序,只需將SSH加入您的帳戶並刪除該文件。

+0

感謝您的回答,實際上,我最終推動了我的源代碼回購。其他選擇似乎是侵入式的方式。 – Andrew

5

對於jbossas應用,創建具有以下內容的tar.gz文件:

build_dependencies/ (empty directory) 
dependencies/jbossas/deployments/ROOT.war 
repo/ (empty directory, or you can include .openshift/... if you need hooks or markers) 

或jbosseap:

build_dependencies/ (empty directory) 
dependencies/jbosseap/deployments/ROOT.war 
repo/ (empty directory, or you can include .openshift/... if you need hooks or markers) 

或jbossews:

build_dependencies/ (empty directory) 
dependencies/jbossews/webapps/ROOT.war 
repo/ (empty directory, or you can include .openshift/... if you need hooks or markers) 
+0

顯然這取決於墨盒,其中有很多,但作爲另一個參考點......對於Vert.x 3墨盒,我最終在tarball中找到了這些:1.'repo/application/myapp .jar'; 2.'repo/.openshift /'(可選,用於鉤子或標記); 3.'configuration/vertx.env'(可選)。 – seanf