从人工发布中排除某些环境变量
Exclude certain env vars from artifactory publish
我有一个 Gradle 构建脚本,它将一些工件放入 Artifactory 中。我将 Artifactory 凭据作为环境变量传递(windows 仅商店)。有什么方法可以控制某些环境变量不会被 clientConfig.setIncludeEnvVars 发布吗?显然,我想隐藏那些 Artifactory 凭据。
我尝试了一些 Ant 风格的排除模式,但它要么不起作用,要么我有一些语法问题:
clientConfig.setIncludeEnvVars(true, excludes: ['*PASS*'])
插件在脚本中的配置方式:
artifactory {
contextUrl = "${artifactory_contextUrl}"
publish {
repository {
repoKey = 'maven-~~~'
username = System.env.ARTIFACTORY_USER ? System.env.ARTIFACTORY_USER : ${artifactory_user}
password = System.env.ARTIFACTORY_PASS ? System.env.ARTIFACTORY_PASS : ${artifactory_password}
maven = true
defaults {
publications('mavenJava')
publishArtifacts = true
publishBuildInfo = true
publishPom = true
publishIvy = false
}
}
}
resolve {
repository {
repoKey = 'maven-d~~~'
username = System.env.ARTIFACTORY_USER ? System.env.ARTIFACTORY_USER : ${artifactory_user}
password = System.env.ARTIFACTORY_PASS ? System.env.ARTIFACTORY_PASS : ${artifactory_password}
maven = true
}
}
clientConfig.setIncludeEnvVars(false) // caution: true exposes passwords which are envs!
}
clientConfig.setIncludeEnvVars()
接受布尔值并控制是否将环境变量包含在构建信息中。
您应该使用:
clientConfig.setEnvVarsExcludePatterns('*password*,*secret*')
或
clientConfig.setEnvVarsIncludePatterns('*not-secret*')
这两种方法都接受一个字符串,其中包含一组以逗号分隔的模式。这些模式使用星号 (*) 作为通配符。
我有一个 Gradle 构建脚本,它将一些工件放入 Artifactory 中。我将 Artifactory 凭据作为环境变量传递(windows 仅商店)。有什么方法可以控制某些环境变量不会被 clientConfig.setIncludeEnvVars 发布吗?显然,我想隐藏那些 Artifactory 凭据。 我尝试了一些 Ant 风格的排除模式,但它要么不起作用,要么我有一些语法问题:
clientConfig.setIncludeEnvVars(true, excludes: ['*PASS*'])
插件在脚本中的配置方式:
artifactory {
contextUrl = "${artifactory_contextUrl}"
publish {
repository {
repoKey = 'maven-~~~'
username = System.env.ARTIFACTORY_USER ? System.env.ARTIFACTORY_USER : ${artifactory_user}
password = System.env.ARTIFACTORY_PASS ? System.env.ARTIFACTORY_PASS : ${artifactory_password}
maven = true
defaults {
publications('mavenJava')
publishArtifacts = true
publishBuildInfo = true
publishPom = true
publishIvy = false
}
}
}
resolve {
repository {
repoKey = 'maven-d~~~'
username = System.env.ARTIFACTORY_USER ? System.env.ARTIFACTORY_USER : ${artifactory_user}
password = System.env.ARTIFACTORY_PASS ? System.env.ARTIFACTORY_PASS : ${artifactory_password}
maven = true
}
}
clientConfig.setIncludeEnvVars(false) // caution: true exposes passwords which are envs!
}
clientConfig.setIncludeEnvVars()
接受布尔值并控制是否将环境变量包含在构建信息中。
您应该使用:
clientConfig.setEnvVarsExcludePatterns('*password*,*secret*')
或
clientConfig.setEnvVarsIncludePatterns('*not-secret*')
这两种方法都接受一个字符串,其中包含一组以逗号分隔的模式。这些模式使用星号 (*) 作为通配符。