gradle - 维护存在于多个存储库中的文件

标签 gradle microservices devops

我们有 gradle.properties 存在于 15 个微服务存储库中。如果我们(devops)需要更改一个属性,我们需要遍历该微服务,提交更改并推送。如何应对这种维护噩梦?

请注意,gradle.properties 中的字段不是您可以使用配置服务器集中的 application.properties 或 yaml 中的配置。

最佳答案

我们在我的公司也有类似的要求:例如,将我们的内部存储库 URL 设置在一个中心位置,并且不要在所有 repositories {} 中重复此 URL。阻止每个项目。

为了实现这一点,我们使用了 Gardle Wrapper功能与 Init Script特征:

  • 我们已经实现了一个初始化脚本,它负责设置一些常见的属性(repo url,等等...)
  • 我们在 GRADLE_HOME/init.d/ 中打包了一个包含此初始化脚本的自定义 Gradle 发行版目录
  • 我们所有的项目都配置为使用带有 --gradle-distribution-url 的 Gradle Wrapper指向我们的自定义分布。

  • 设置一个属性的初始化脚本示例:

    $GRADLE_HOME/init.d/init-properties.gradle
     rootProject{ p ->
          p.ext.artifactoryUrl = 'https://mycompany.artifactory.com'
     }
    

    编辑:Gradle 提供了一个示例项目,解释了如何构建自定义分发:请参阅 https://github.com/gradle/gradle/tree/master/subprojects/docs/src/samples/customDistribution

    关于gradle - 维护存在于多个存储库中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52520782/

    相关文章:

    android - Gradle:错误:包 com.nostra13.universalimageloader.core 不存在

    docker - 在一个容器中运行多个类似的进程是否有意义?

    Azure Release Pipeline - 如何设置代理池

    wordpress - 在有状态 CMS 中将后台与 Github 同步

    android - 有没有什么方法可以使用Gradle而不是像Android Studio这样的IDE来构建apk?

    Gradle 未使用 ext :pom 导入依赖项

    gradle - 错误 :Failed to resolve: :HERE-sdk:

    java - Tyk API Gateway 每 60 秒重试一次请求

    c# - 云服务到 Service Fabric 身份验证?

    amazon-web-services - AWS 上的 Spring Boot/云微服务