将代码构建操作中创建的环境传递给代码管道中的下游操作
Pass environment created in codebuild action to downstream action in codepipeline
我是 codepipeline 的新手,我在 codepipeline 的构建阶段有多个操作,其中 1 个构建规范类似于下面,我想在我需要的 python 文件中动态创建一个变量用于下游操作。
version: 1
phases:
install:
runtime-version:
python: 3.9
commands:
- python -m pip install --upgrade pip
build:
commands:
- python code/get_date.py
get_date.py
import datetime
if __name__ == "__main__":
current_date = strftime("%Y-%m-%d %H:%M:%S", gmtime())
然后我有第二个构建规范文件,它在第二个操作中运行
version: 1
phases:
install:
runtime-version:
python: 3.9
commands:
- python -m pip install --upgrade pip
build:
commands:
- python code/process_date.py
process_date.py
if __name__ == "__main__":
# get current date somehow from previous action
print(current_date)
我该如何完成这样的事情?最好的建议是什么?我会使用输出工件或变量吗?它们是如何在阶段之间传递这样的值的?
非常感谢任何帮助。
CodeBuild 可以输出变量以用于您的 CodePipeline 中的其他阶段或操作。这些变量在您的 buildspec.yml
.
中称为 CodeBuild action output variables and are defined using env/exported-variables
Working with variables AWS 文档中描述了如何在 CP 中使用和使用这些变量的一般信息。
我是 codepipeline 的新手,我在 codepipeline 的构建阶段有多个操作,其中 1 个构建规范类似于下面,我想在我需要的 python 文件中动态创建一个变量用于下游操作。
version: 1
phases:
install:
runtime-version:
python: 3.9
commands:
- python -m pip install --upgrade pip
build:
commands:
- python code/get_date.py
get_date.py
import datetime
if __name__ == "__main__":
current_date = strftime("%Y-%m-%d %H:%M:%S", gmtime())
然后我有第二个构建规范文件,它在第二个操作中运行
version: 1
phases:
install:
runtime-version:
python: 3.9
commands:
- python -m pip install --upgrade pip
build:
commands:
- python code/process_date.py
process_date.py
if __name__ == "__main__":
# get current date somehow from previous action
print(current_date)
我该如何完成这样的事情?最好的建议是什么?我会使用输出工件或变量吗?它们是如何在阶段之间传递这样的值的?
非常感谢任何帮助。
CodeBuild 可以输出变量以用于您的 CodePipeline 中的其他阶段或操作。这些变量在您的 buildspec.yml
.
Working with variables AWS 文档中描述了如何在 CP 中使用和使用这些变量的一般信息。