cloud foundry_介绍“又一个” Cloud Foundry Gradle插件
cloud foundry
在與兩個同事(感謝Mark Alston和Dave Malone !)一起使用自動Jenkins管道部署Cloud Foundry應(yīng)用程序的過程中,我決定嘗試編寫Gradle插件來執(zhí)行一些通常需要完成的任務(wù)使用命令行Cloud Foundry Client完成 。
引入一個完全虛幻的名稱為“ ya-cf-app-gradle-plugin”的一組gradle任務(wù)(敢說我敢說!),這應(yīng)該有助于自動化將Java應(yīng)用程序部署到Cloud Foundry環(huán)境中涉及的一些常規(guī)步驟。 “ ya”或另一部分是因為這只是一個替代插件,Cloud Foundry的權(quán)威插件最終將駐留在出色的CF-Java-Client項目中。
我已經(jīng)提供了帶有項目文檔的廣泛自述文件,該文件應(yīng)該有助于使用插件入門,如果您以前使用過CF cli,則任務(wù)應(yīng)該非常直觀。
舉例來說,將gradle插件干凈地添加到構(gòu)建腳本中后,通過運行“ ./gradlew task”命令列出以下gradle任務(wù)即可:
所有任務(wù)均以構(gòu)建腳本中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屬性來完成。 例如。 正常推送應(yīng)用程序?qū)⑷缦滤?#xff1a;
./gradlew cf-push帶有應(yīng)用程序名稱和覆蓋的主機名的推送將如下所示:
./gradlew cf-push -Pcf.name=Green -Pcf.hostName=demo-time-temp所有任務(wù)均遵循完全相同的模式,具體取決于cfConfig塊作為權(quán)威的屬性源以及命令行覆蓋。 在CloudFoundry中有一項任務(wù)可用于檢索應(yīng)用程序的某些詳細信息,該任務(wù)為“ cf-get-app-detail”,例如,在部署了應(yīng)用程序的Canary實例后,您想運行快速測試針對它,任務(wù)將遵循以下原則,一旦成功調(diào)用,將使用應(yīng)用程序詳細信息填充結(jié)構(gòu)“ 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項目構(gòu)建
2.我從gradle-cf-plugin借鑒了很多想法,但是或多或少是一個無塵室的實現(xiàn)
3.這是一個使用插件的示例項目 。
翻譯自: https://www.javacodegeeks.com/2016/07/introducing-yet-another-cloud-foundry-gradle-plugin.html
cloud foundry
總結(jié)
以上是生活随笔為你收集整理的cloud foundry_介绍“又一个” Cloud Foundry Gradle插件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工程投标备案(国注投标备案)
- 下一篇: 结果集 tostring_关于避免对to