openshift使用

由于此错误, 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.log

OpenShift 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使用

openshift使用_OpenShift DIY:使用Gradle构建Spring Boot / Undertow应用程序相关推荐

  1. OpenShift DIY:使用Gradle构建Spring Boot / Undertow应用程序

    由于此bug, Gradle 1.6是在OpenShift上运行的最后一个受支持的Gradle版本. 但是从Gradle 2.2开始,这不再是问题,因此使用自己动手做墨盒在OpenShift上运行最新 ...

  2. 带有Gradle的Spring Boot Web应用程序

    1.简介 在继续使用Gradle创建演示Spring Boot Web应用程序之前,我假设我们已经准备好使用Gradle设置 . 摇篮设置指南 Gradle官方网站 2.创建演示应用程序 现在我们已经 ...

  3. 构建Spring Boot程序有用的文章

    构建Spring Boot程序有用的文章: http://www.jb51.net/article/111546.htm 转载于:https://www.cnblogs.com/xiandedante ...

  4. 5个构建Spring Boot API的实用技巧

    建筑物身份管理,包括身份验证和授权? 尝试Stormpath! 我们的REST API和强大的Java SDK支持可以消除您的安全风险,并且可以在几分钟内实现. 注册 ,再也不会建立auth了! 每个 ...

  5. Spring Boot Web应用程序中注册 Servlet 的方法实例

    Spring Boot Web应用程序中注册 Servlet 的方法实例 本文实例工程源代码:https://github.com/KotlinSpringBoot/demo1_add_servlet ...

  6. Openshift:使用Java 8在Wildfly 8.2.0上构建Spring Boot应用程序

    OpenShift DIY墨盒是在OpenShift上测试不受支持的语言的好方法. 但是它不具有可伸缩性(您可以在此处为可伸缩DIY墨盒投票),这使得它很难与生产级Spring Boot应用程序一起使 ...

  7. 基于gradle构建spring cloud项目

    构建环境 idea:2021.1.2 gradle:4.10.3 项目介绍 gradle-spring-cloud 根项目,用于统一一些公共配置 gradle-eurakeserver 模块使用eur ...

  8. Spring Initializr 构建Spring Boot/Cloud工程

    2019独角兽企业重金招聘Python工程师标准>>> 在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建.而创建的方式 ...

  9. 使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程(十五)

    在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建.而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也 ...

最新文章

  1. 18离线帮助文档_VIM学习笔记 Zeavim离线文档查看器
  2. win7 VS2008 编译luabind-0.9.1 动态库 静态库
  3. [jQuery] jQuery的attr和prop方法有什么区别?
  4. Oracle用户和模式的区别
  5. chromedriver不在路径的解决办法
  6. pcDuino的linux移植五GPIO驱动开发
  7. python基础系列教程——数据结构(列表、元组、字典、集合、链表)
  8. DPM2012学习(二),添加本地磁盘
  9. 使用GreenSock插件轻松制作精美的Web动画
  10. 计算机二级office题库文档,二级office题库
  11. 细数SAP Business One主流实施与服务商
  12. 粒子群算法总结+背包问题
  13. 【工业视觉-CCD相机和CMOS相机成像的本质区别】
  14. 【看表情包学Linux】进程阻塞 | 轮询检测 | 基于非阻塞等待的轮询方案 | 进程程序替换 | exec 函数簇
  15. Revit中项目特别大如何将项目完整的体现在图纸中?
  16. java中的匿名内部类总结
  17. 基于Skeleton的手势识别:SAM-SLR
  18. VS2012和matlab 2010b混合编程之环境配
  19. 灰度变换——对数变换
  20. ubuntu11 下安装86五笔输入法

热门文章

  1. P5904-[POI2014]HOT-Hotels加强版【长链剖分,dp】
  2. nssl1191,P2700-逐个击破(平津战役)【并查集】
  3. 2021牛客暑期多校训练营4 B-Sample Game(概率DP)
  4. 2018CCF-CSP 5.二次求和(点分治)
  5. 【传递闭包】【倍增】幸福路径(P4308)
  6. Scala与Java差异(一)之基础语法
  7. JSP页面EL表达式不解析
  8. 本想试试看,结果却拿到了京东的Offer
  9. Java GUI界面
  10. 2019蓝桥杯省赛---java---B---3(数列求值)