您有兩種選擇。
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界面,看起來像這樣:
希望紅帽將支持原生SBT在某些時候,但現在這兩個流中的一個應該爲你工作。
嗨,帕特里克,感謝您的回覆。只是嘗試在我的w10虛擬機中安裝docker,這是行不通的。接下來將嘗試源圖像處理方法。由於我對此完全陌生,你能否快速一步一步地在openshift(在線)上獲取源代碼;我想有必要通過git的方式?謝謝! –
要開始您想要從https://github.com/openshift/origin/releases/tag/v1.3.0安裝二進制文件,然後運行'oc cluster up'。你不應該需要任何源代碼。 –
'oc cluster up'命令似乎也需要在本地安裝docker(我無法在我的虛擬機環境中執行)?我得到這個輸出: '$ oc集羣up - 檢查OpenShift客戶端...確定 - 檢查Docker客戶端...失敗 錯誤:無法與Docker通信# 我以爲我的代碼可能是'dockerized '通過Openshift本身,只需將我的代碼推送到一個擁有webshook到一個Openshift項目的git存儲庫?但據我現在瞭解,我認爲我需要在Openshift上獲得一個基本的碼頭圖像,然後我可以推送代碼? –