cloud foundry

在与两个同事(感谢Mark Alston和Dave Malone !)一起使用自动Jenkins管道部署Cloud Foundry应用程序的过程中,我决定尝试编写Gradle插件来执行一些通常需要完成的任务使用命令行Cloud Foundry Client完成 。

引入一个完全虚幻的名称为“ ya-cf-app-gradle-plugin”的一组gradle任务(敢说我敢说!),这应该有助于自动化将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

cloud foundry_介绍“又一个” Cloud Foundry Gradle插件相关推荐

  1. 介绍“又一个” Cloud Foundry Gradle插件

    在与两个同事(感谢Mark Alston , Dave Malone !)一起使用自动Jenkins管道部署Cloud Foundry应用程序的过程中,我决定尝试编写Gradle插件来执行一些通常需要 ...

  2. cloud foundry_使用“另类” Cloud Foundry Gradle插件无需停机

    cloud foundry 我一直在尝试编写用于将应用程序部署到Cloud Foundry的gradle插件 ,并在上一篇文章中写了有关此插件的文章 . 现在,我通过使用两种方法支持将无停机时间部署到 ...

  3. 使用“另类” Cloud Foundry Gradle插件无需停机

    我一直在尝试我的手在写一个gradle这个插件的应用程序部署到Cloud Foundry上 ,并写下这个插件在我以前的帖子 . 我现在通过使用两种方法支持将无停机时间部署到Cloud Foundry中 ...

  4. replugin源码解析之replugin-host-gradle(宿主的gradle插件)

    前言 replugin-host-gradle 是 RePlugin 插件框架中的宿主gradle插件,主要用于在宿主应用的编译期常规构建任务流中,插入一些定制化的构建任务,以便实现自动化编译期修改宿 ...

  5. replugin源码解析之replugin-plugin-gradle(插件的gradle插件)

    前言 replugin-plugin-gradle 是 RePlugin 插件框架中提供给replugin插件用的gradle插件,是一种动态编译方案实现. 主要在插件应用的编译期,基于Transfo ...

  6. cloud foundry_将Spring Boot应用程序绑定到Cloud Foundry中的服务的方法

    cloud foundry 如果要试用Cloud Foundry ,最简单的方法是下载出色的PCF开发人员或在Pivotal Web Services站点上创建试用帐户. 其余文章假定您已经安装了Cl ...

  7. Cloud Native 介绍

    为什么80%的码农都做不了架构师?>>>    背景 Cloud Native表面看起来比较容易理解,但是细思好像又有些模糊不清:Cloud Native和Cloud关系是啥?它用来 ...

  8. 【转帖】是时候给大家介绍 Spring Boot/Cloud 背后豪华的研发团队了。

    是时候给大家介绍 Spring Boot/Cloud 背后豪华的研发团队了. 2019/01/03 http://www.ityouknow.com/springboot/2019/01/03/spr ...

  9. Spring Cloud Gateway介绍(二)

    Spring Cloud Gateway介绍(一) 全局Filters GlobalFilter与GatewayFilter具有一样的接口. 这些全局过滤器都有对应的配置类,例如: org.sprin ...

最新文章

  1. keras 的 example 文件 addition_rnn.py 解析
  2. 服务器搭建虚拟win云服务,云服务器创建win10虚拟机
  3. 倪光南院士:openEuler与全球开发者共同推动计算产业发展
  4. 众人皆醉我独醒——深入理解“特征值”和“特征向量”
  5. BZOJ 2115 [Wc2011] Xor ——线性基
  6. Hive 内部表与外部表
  7. 修改linux绑定的域名,手工修改linux系统下DA面板绑定的域名
  8. c语言1 2 10000,C语言1~10000之间所有水仙花数
  9. Tortoise SVN 如何汉化(最简单的处理方式,一看就会)
  10. 完美打造安全的系统。
  11. js原生实现图片爆炸效果
  12. html span 字体位置,span内文字居中css布局方法_让span内容居中
  13. 科普:股票价格为什么会高开?
  14. (转)【mysql元数据库】使用information_schema.tables查询数据库和数据表信息 ---数据记录大小统计...
  15. el-table表格某列添加icon图标
  16. BMP与JPG图片格式的互相转换
  17. FPGA几种电平:TTL,CMOS以及LVTTL,LVCMOS
  18. Linux下Python 缩进 SyntaxError: 'break' outside loop
  19. Python学习规划
  20. Android系统框架四层结构

热门文章

  1. P5371-[SNOI2019]纸牌【矩阵乘法】
  2. bzoj#2407-探险【最短路,二进制分组】
  3. P5666-[CSP-S2019]树的重心【树状数组】
  4. P3211-[HNOI2011]XOR和路径【高斯消元】
  5. Ybt#452-序列合并【期望dp】
  6. CF1110E-Magic Stones【结论题,差分】
  7. 面试官:为什么 Spring Boot 的 jar 可以直接运行
  8. 隐马尔科夫模型-前向算法
  9. JavaFX UI控件教程(二十六)之Pagination Control
  10. 阿里巴巴对Java编程【集合处理】的规约