介绍“又一个” Cloud Foundry Gradle插件
在与两个同事(感谢Mark Alston , Dave Malone !)一起使用自动Jenkins管道部署Cloud Foundry应用程序的过程中,我决定尝试编写Gradle插件来执行一些通常需要完成的任务使用命令行Cloud Foundry Client完成 。
介绍带有一组gradle任务(我敢说,敢于说!)的完全没有想象力的“ ya-cf-app-gradle-plugin” ,这应该有助于自动化将Java应用程序部署到Cloud Foundry环境中涉及的一些常规步骤。 “ ya”或另一部分是因为这只是一个替代插件,Cloud Foundry的权威插件最终将驻留在出色的CF-Java-Client项目中。
我已经提供了带有项目文档的广泛自述文件,该文件应有助于开始使用插件,如果您以前使用过CF cli,则任务应该相当直观。
举例来说,将gradle插件干净地添加到构建脚本中后,通过运行“ ./gradlew task”命令列出以下gradle任务即可:
所有任务均以构建脚本中cfConfig块中提供的以下方式进行配置:
apply plugin: 'cf-app'cfConfig {//CF DetailsccHost = "api.local.pcfdev.io"ccUser = "admin"ccPassword = "admin"org = "pcfdev-org"space = "pcfdev-space"//App Detailsname = "cf-show-env"hostName = "cf-show-env"filePath = "build/libs/cf-show-env-0.1.2-SNAPSHOT.jar"path = ""domain = "local.pcfdev.io"instances = 2memory = 512//Env and servicesbuildpack = "https://github.com/cloudfoundry/java-buildpack.git"environment = ["JAVA_OPTS": "-Djava.security.egd=file:/dev/./urandom", "SPRING_PROFILES_ACTIVE": "cloud"]services = ["mydb"]
}
通过使用“ cf. *”模式指定gradle属性,可以在以这种方式提供的基本配置之上进行任何覆盖。 例如。 正常推送应用程序将如下所示:
./gradlew cf-push
带有应用程序名称和覆盖的主机名的推送将如下所示:
./gradlew cf-push -Pcf.name=Green -Pcf.hostName=demo-time-temp
所有任务均遵循完全相同的模式,具体取决于cfConfig块(作为属性的权威来源)以及命令行替代。 在CloudFoundry中有一项任务可用于检索应用程序的某些详细信息,该任务为“ cf-get-app-detail”,例如,在部署了应用程序的Canary实例后,您想运行快速测试针对它,任务将遵循以下原则,一旦成功调用,将在结构“ project.cfConfig”中填充应用程序详细信息:
task acceptanceTest(type: Test, dependsOn: "cf-get-app-detail") {doFirst() {systemProperty "url", "https://${project.cfConfig.applicationDetail.urls[0]}"}useJUnit {includeCategories 'test.AcceptanceTest'}
}
参考文献:
1.该插件基于出色的CF-Java-Client项目构建
2.我从gradle-cf-plugin借来了很多想法,但是或多或少是一个无尘室的实现。
3.这是一个使用插件的示例项目 。
翻译自: https://www.javacodegeeks.com/2016/07/introducing-yet-another-cloud-foundry-gradle-plugin.html
介绍“又一个” Cloud Foundry Gradle插件相关推荐
- cloud foundry_介绍“又一个” Cloud Foundry Gradle插件
cloud foundry 在与两个同事(感谢Mark Alston和Dave Malone !)一起使用自动Jenkins管道部署Cloud Foundry应用程序的过程中,我决定尝试编写Gradl ...
- 使用“另类” Cloud Foundry Gradle插件无需停机
我一直在尝试我的手在写一个gradle这个插件的应用程序部署到Cloud Foundry上 ,并写下这个插件在我以前的帖子 . 我现在通过使用两种方法支持将无停机时间部署到Cloud Foundry中 ...
- cloud foundry_使用“另类” Cloud Foundry Gradle插件无需停机
cloud foundry 我一直在尝试编写用于将应用程序部署到Cloud Foundry的gradle插件 ,并在上一篇文章中写了有关此插件的文章 . 现在,我通过使用两种方法支持将无停机时间部署到 ...
- 2019年写一个Cloud Studio插件吧
纳尼?2019年?其实一开始我的内心是拒绝的,一转眼就到了2018年的尾声,再不写个[2019年]的标题定好文章的保质期,感觉刚写这篇文章就要过期了!然而,回顾2018年,每每想起2018年的收获,我 ...
- 2019年如何撸一个Cloud Studio插件?
纳尼?2019年?其实一开始我的内心是拒绝的,一转眼就到了2018年的尾声,再不写个[2019年]的标题定好文章的保质期,感觉刚写这篇文章就要过期了!然而,回顾2018年,每每想起2018年的收获,我 ...
- 从开发者的角度比较Kubernetes和Cloud Foundry
[编者的话]本文从一个开发者的角度,对Kubernetes和Cloud Foundry进行了多维度的比较,包括:平台是否类PaaS,支持的容器,管理控制台,命令行接口,零宕机部署,外部负载均衡,内部负 ...
- Cloud foundry基础
VMware突然发布了业内第一个开源的PaaS--CloudFoundry. 第一部份主要介绍CloudFoundry的架构设计,从它所包含的模块介绍起,到各部份的消息流向,各模块如何协调合作; 第二 ...
- Cloud Foundry 4:应用程序的生命周期
文章目录 章节概述 什么进入应用程序? pushing 上传 Staging Starting Restarting, Restaging, and Re-pushing --strategy rol ...
- cloud foundry云原生开发工程师考试
文章目录 课程时间 Linux基金会 云计算的基础 Linux基金会活动 培训场地 Linux基础培训产品 Linux基金会认证 培训/认证防火墙 章概述 命令行接口 CF API Documenta ...
最新文章
- 完美日记的微服务实践和优化思路
- Unable to connect to the Redgate Client Service
- 印前处理的“发动机”——RIP
- python贪吃蛇毕业设计_【干货|python项目实例——贪吃蛇】- 环球网校
- js逻辑训练题_七彩思维逻辑魔盘:全方面锻炼孩子的数学与逻辑思维
- 吴恩达深度学习1.4练习_Neural Networks and Deep Learning
- 15款最佳的 jQuery 分步引导插件
- linux创建文件夹共享文件夹,Linux创建文件夹共享
- Excel自动调整行高/行高适应文字内容
- 计算机启动后无法进入系统怎么办,笔记本开机进不了系统,小编教你笔记本开机无法进入系统怎么办...
- 公式图片转换成Word格式
- Exception evaluating SpringEL expression
- 生成划掉的字_哪种备忘录划删除线,能划掉文字在字中间划线的便签
- STM32的内部参照电压VREFINT(1.2V)和ADC参考电压Vref+如何区分呢
- C语言简易程序设计————6、用*号输出字母C的图案
- 如何才能成为顶级的数据分析师?
- Redis源码阅读笔记 ----数据结构部分 sds
- python手机壁纸超清_Python爬虫-王者荣耀高清壁纸下载
- Delphi7企业原版_史上最经典的delphi 版本
- A connection attempt failed because the connected party did not properly respond after a period of……