2016-09-16 102 views
3

也許我彈出這個問題,儘早Openshift v3仍然在預覽,但可能有解決我的問題,我沒有看到:)。如何部署Play!框架應用程序到Openshift v3

我正在開發構建Java Play框架應用程序的第一步,並選擇了Openshift作爲我的主機平臺。我只是能夠讓我的app + mysql db在Openshift v2上工作,因爲他們發佈了v3預覽版,並且注意到v2最終會消失。 在新的圖像/模板中,仍然沒有Java Play版本顯示,也沒有「自己動手打造墨盒」的方式。

任何提示或'教程'鏈接非常感謝:)。

感謝和親切的問候! Erik

回答

1

您有兩種選擇。

SBT本地打包

首先選擇將要使用的SBT本地打包SBT生成器來創建你的泊塢窗圖像(手動或使用像詹金斯)。開箱後,您應該可以運行sbt docker:publishLocal並獲取本地泊塢窗圖像,然後您可以將其推送到Docker回購站。然後,您可以在oc new-app <docker repo>/<docker image>:<image version>的openshift中啓動它。

這是因爲你的圖像是在別處構建的,你並沒有真正充分利用OpenShift的優勢。但它可能適合您當前的開發流程。

上行是你的碼頭圖像會很小。 SBT在打包所有依賴方面做得很好。

源到圖像

第二個選擇是創建自己的source to image製造商,它知道如何構建SBT /播放項目。這是我的團隊採取的道路。您可以參考our sbt builder以供參考,但它的質量仍然處於最佳狀態。

這個過程的不足之處在於,您的所有來源都包含在圖像中,因此它的體積更大。也沒有人支持這個建設者,所以如果你有錯誤,你是你自己的。

最重要的是,OpenShift將構建您的圖像,您將在OpenShift Web控制檯中看到您的構建狀態。

注意

隨着OpenShift產地1.3.0你也將獲得訪問詹金斯管道。這可以使以上兩種情況中的任何一種更容易。你結束了一個很酷的Web界面,看起來像這樣:

OpenShift Build Pipeline Screenshot

希望紅帽將支持原生SBT在某些時候,但現在這兩個流中的一個應該爲你工作。

+0

嗨,帕特里克,感謝您的回覆。只是嘗試在我的w10虛擬機中安裝docker,這是行不通的。接下來將嘗試源圖像處理方法。由於我對此完全陌生,你能否快速一步一步地在openshift(在線)上獲取源代碼;我想有必要通過git的方式?謝謝! –

+0

要開始您想要從https://github.com/openshift/origin/releases/tag/v1.3.0安裝二進制文件,然後運行'oc cluster up'。你不應該需要任何源代碼。 –

+0

'oc cluster up'命令似乎也需要在本地安裝docker(我無法在我的虛擬機環境中執行)?我得到這個輸出: '$ oc集羣up - 檢查OpenShift客戶端...確定 - 檢查Docker客戶端...失敗 錯誤:無法與Docker通信# 我以爲我的代碼可能是'dockerized '通過Openshift本身,只需將我的代碼推送到一個擁有webshook到一個Openshift項目的git存儲庫?但據我現在瞭解,我認爲我需要在Openshift上獲得一個基本的碼頭圖像,然後我可以推送代碼? –

1

對於每個人都在尋找自己的問題的答案,這裏是我如何得到一個在Openshift(自己安裝)上運行的Play應用程序。首先,非常感謝@PatrickTescher。他的回答指出了我的正確方向。

我還沒有成功通過激活器在Openshift中工作(猜測它與在根目錄下運行有關),但我已經到了在我的源代碼圖像構建上運行的點自己的Openshift集羣。這種方法在Openshift的在線開發人員預覽版中尚不可行。根據我迄今爲止所做的所有閱讀,我同意帕特里克說這是最好的方法。

跳水進入以下鏈接,你應該得到啓動和運行:

在最後一個鏈接中,您可以更改註冊表try.access.redhat.com/rhel7.2 by registry.centos.org/centos/centos:latest(rhel需要認證,centos是免費社區的等效物)

相關問題