gpt4 book ai didi

node.js - 在 gitLab CI YML 中获取 package.json 的值

转载 作者:搜寻专家 更新时间:2023-10-31 22:18:27 25 4
gpt4 key购买 nike

我正在为我的 nodejs 应用程序使用 gitLab CI。在我的 YML 文件中,我需要调用一个脚本来构建一个 docker 镜像。但是我需要使用项目的当前版本,而不是使用 latest

此版本值可以在存储库的 package.json 文件中找到。

是否可以读取 package.json 文件的版本值,将 latest 替换为当前版本?

# ...
variables:
CONTAINER_RELEASE_IMAGE: $CI_REGISTRY_IMAGE:latest # need version value instead of latest

build:
stage: build
script:
# ...
- cd /opt/core/bundle && docker build -t $CONTAINER_RELEASE_IMAGE .
- docker push $CONTAINER_RELEASE_IMAGE

最佳答案

我认为从 package.json 中检索 version 的最简单方法是使用 Node 本身。

build:
stage: build
script:
- export VERSION=$(node -p "require('./package.json').version")
- export CONTAINER_RELEASE_IMAGE=$CI_REGISTRY_IMAGE:$VERSION
- cd /opt/core/bundle && docker build -t $CONTAINER_RELEASE_IMAGE .
- docker push $CONTAINER_RELEASE_IMAGE

-p/--print 标志表示计算表达式并打印结果。它在功能上等同于使用 -e/--eval= 标志并将表达式包装在 console.log(...) 中。

关于node.js - 在 gitLab CI YML 中获取 package.json 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43165840/

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