javascript
OpenShift DIY:使用Gradle构建Spring Boot / Undertow应用程序
由于此bug, Gradle 1.6是在OpenShift上運行的最后一個受支持的Gradle版本。 但是從Gradle 2.2開始,這不再是問題,因此使用自己動手做墨盒在OpenShift上運行最新的Gradle不再是問題。 DIY墨盒是一種實驗性墨盒,它提供了一種在OpenShift上測試不受支持的語言的方法。 它提供了最小限度的自由形式的支架,將墨盒的所有細節留給了應用程序開發人員。
這篇博客文章說明了在Undertow上運行Spring Boot 1.2和Java 8的用法,它被支持作為Tomcat的輕量級替代方案。 起來并運行不超過10分鐘。
先決條件
在開始構建應用程序之前,我們需要安裝一個OpenShift免費帳戶和客戶端工具。
步驟1:建立DIY應用程式
要使用客戶端工具創建應用程序,請鍵入以下命令:
rhc app create <app-name> diy-0.1此命令使用DIY盒帶創建應用程序,并將存儲庫克隆到目錄。
步驟2:刪除模板應用程序源代碼
OpenShift創建一個可以自由刪除的模板項目:
git rm -rf .openshift README.md diy misc提交更改:
git commit -am "Removed template application source code"步驟3:從GitHub提取源代碼
git remote add upstream https://github.com/kolorobot/openshift-diy-spring-boot-gradle.git git pull -s recursive -X theirs upstream master步驟4:推送變更
基本模板已準備好推送到OpenShift:
git push初始部署(構建和應用程序啟動)將花費一些時間(最多幾分鐘)。 后續部署要快一些:
remote: BUILD SUCCESSFUL remote: Starting DIY cartridge remote: XNIO NIO Implementation Version 3.3.0.Final remote: b.c.e.u.UndertowEmbeddedServletContainer : Undertow started on port(s) 8080 (http) remote: Started DemoApplication in 15.156 seconds (JVM running for 17.209)現在,您可以瀏覽到: http://<app-name>.rhcloud.com/manage/health ,您應該看到:
{"status": "UP", }登錄到OpenShift網絡帳戶并導航到“ Applications您應該會看到一個新帳戶:
引擎蓋下
為什么要DIY?
可以將Spring Boot應用程序部署到OpenShift上的Tomcat盒中。 但是目前沒有Undertow和Java 8支持,因此選擇了DIY。 DIY有局限性:例如,無法縮放。 但這是嘗試和玩新事物的完美選擇。
應用結構
該應用程序是常規的Spring Boot應用程序,可以使用http://start.spring.io進行引導。 使用的構建系統是Gradle,包裝類型是Jar。
從Spring Boot 1.2開始,支持Undertow輕量級高性能Servlet 3.1容器。 為了使用Undertow代替Tomcat,必須將Tomcat依賴項與Undertow的依賴項交換:
buildscript {configurations {compile.exclude module: "spring-boot-starter-tomcat"} } dependencies {compile("org.springframework.boot:spring-boot-starter-undertow") }OpenShift特定配置– application-openshift.properties –當前包含日志記錄配置:
logging.file=${OPENSHIFT_DATA_DIR}/logs/app.logOpenShift action_hooks
OpenShift在部署過程中的特定位置執行動作掛鉤腳本文件。 所有掛鉤都放置在應用程序存儲庫的.openshift / action_hooks目錄中。 文件必須是可執行的。 在Windows中,可以在Git Bash中使用以下命令:
git update-index --chmod=+x .openshift/action_hooks/*部署應用程序
部署腳本下載Java 8和Gradle 2.2,創建一些目錄。 下載Gradle的方法如下:
if [ ! -d $OPENSHIFT_DATA_DIR/gradle-2.2.1 ]thencd $OPENSHIFT_DATA_DIRwget https://services.gradle.org/distributions/gradle-2.2.1-bin.zipunzip gradle-2.2.1-bin.ziprm -f gradle-2.2.1-bin.zip fi運行腳本后,將在$OPENSHIFT_DATA_DIR創建以下目錄:
gradle gradle-2.2.1 jdk1.8.0_20 logs此外,該腳本還會導出正確運行Java 8 / Gradle構建所需的幾個環境變量。 GRADLE_USER_HOME是最重要的一個,因為它設置了將存儲所有Gradle運行時文件的主目錄,包括用于構建應用程序的已下載依賴項。
deploy腳本的最后一個命令是運行Gradle任務以創建一個jar存檔,可以使用java -jar commnad從命令行執行該存檔(請參見下一段):
gradle bootRepackage啟動應用程序
deploy腳本成功完成后, build目錄將包含一個組裝了Spring Boot應用程序的jar。 該應用程序已啟動,并綁定到OpenShift提供的服務器地址和端口。 另外,提供了概要文件名稱,因此可以加載其他屬性文件。 運行該應用程序的最終命令如下:
nohup java -Xms384m -Xmx412m -jar build/*.jar --server.port=${OPENSHIFT_DIY_PORT} --server.address=${OPENSHIFT_DIY_IP} --spring.profiles.active=openshift &參考文獻
- 可以找到本文中使用的項目源代碼。
在GitHub上: https : //github.com/kolorobot/openshift-diy-spring-boot-sample - Spring Boot文檔: http : //docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#cloud-deployment-openshift
- 創建本文時使用了一些OpenShift參考:
- https://blog.openshift.com/run-gradle-builds-on-openshift
翻譯自: https://www.javacodegeeks.com/2015/02/openshift-diy-build-spring-boot-undertow-application-gradle.html
總結
以上是生活随笔為你收集整理的OpenShift DIY:使用Gradle构建Spring Boot / Undertow应用程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人民币标识电脑桌面(人民币桌面图片)
- 下一篇: 黄河里面有什么鱼种(在黄河怎么钓鱼的技巧