如何设置 travis 构建以拉取私有 gradle 依赖项?

How to setup travis build to pull private gradle dependencies?

我是 travis 的新手,正在尝试从私人服务器中提取一个 jar。

我关注了 this guide,现在服务器上托管了 jar,可以通过在 build.gradle 文件中注册存储库在其他项目中使用它:

repositories {
        jcenter()
        maven {
            url "http://IPADDRESS:8081/artifactory/libs-release-local"
            credentials {
                username = "${artifactory_username}"
                password = "${artifactory_password}"
            }
        }
    }

凭据放在 #HOME_DIR/.gradle/gradle.properties 文件中。

artifactory_username=YOUR_USERNAME
artifactory_password=YOUR_ENCRYPTED_PASSWORD

它在我们的机器上运行,但在 travis 上构建失败,因为它没有那个 gradle.properties 文件。处理此问题的正确方法是什么,即设置 travis 从该回购中提取?

我想我可以将它们定义为 environment variables in repository settings,但看起来需要修改 build.gradle 文件才能使用它们。

在您的 travis 构建脚本中,您可以将 -P 选项添加到 gradle 命令。这些将为您添加项目属性。

gradle -PprojectProperty=projectValue build

不过,当您将密码添加到 git 时,密码并没有得到很好的保护。为了保护它,请使用加密的环境变量。按照this guide加密变量。一旦环境变量在 travis 构建脚本中可用,您就可以像这样使用它。

gradle -Partifactory_username=username -Partifactory_password=${ARTIFACTORY_PASSWORD} build

这种方法的好处是开发人员可以继续他们当前的配置。