gpt4 book ai didi

gradle - Gradle无法从AWS CodePipeline获取CODEBUILD_SRC_DIR_source1变量

转载 作者:行者123 更新时间:2023-12-03 04:58:35 25 4
gpt4 key购买 nike

我试图在我的CodePipeline版本中使用多个CodeCommit源。我在CodeBuild的CodeCommit中定义了一个指向项目的辅助源,并为其分配了“sec_proj”标识符。在我的主项目中,我有一个Gradle构建,其中包含以下代码

    copy {
from System.getProperty("CODEBUILD_SRC_DIR_sec_proj", CODEBUILD_SRC_DIR_sec_proj)
into "$buildDir/sec_proj"
}

当我在本地环境中定义 CODEBUILD_SRC_DIR_sec_proj时,所有内容均按预期运行,第二个项目中的文件被复制并构建完成。但是,当我尝试在管道中运行它时,出现以下错误:
17:50:26.092 [ERROR] 
[org.gradle.internal.buildevents.BuildExceptionReporter] Caused by:
groovy.lang.MissingPropertyException: Could not get unknown property
'CODEBUILD_SRC_DIR_sec_proj' for object of type
org.gradle.api.internal.file.copy.CopySpecWrapper_Decorated.

因此,很明显,我的gradle进程没有可用的变量。
我尝试在 buildspec.yml中使用以下语法强制使用
phases:
build:
commands:
- ./gradlew -i -d -S build -DCODEBUILD_SRC_DIR_sec_proj=$CODEBUILD_SRC_DIR_sec_proj

它以相同的消息失败。而且由于根据文档

Your primary source is defined under the source attribute. All other sources are called secondary sources and appear under secondarySources. All secondary sources are installed in their own directory. This directory is stored in the built-in environment variable CODEBUILD_SRC_DIR_sourceIdentifer.



好像我缺少什么?

最佳答案

这是解决方案。原来CODEBUILD_SRC_DIR_sec_proj存在,但System.getProperty("CODEBUILD_SRC_DIR_sec_proj", CODEBUILD_SRC_DIR_sec_proj)无法得到它。但是System.getProperties().getProperty("CODEBUILD_SRC_DIR_sec_proj")会的。然后它就像一个魅力

关于gradle - Gradle无法从AWS CodePipeline获取CODEBUILD_SRC_DIR_source1变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52338641/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com