docker - 将 package.json 版本注入 Gitlab CI 脚本
问题描述
将 package.json 中的值(名称和版本是我感兴趣的)注入 Gitlab CI 管道(即 .gitlab-ci.yml 文件)的最佳方法是什么?
我当前的用例是我想使用项目的名称和版本来启动 SonarQube 扫描,并且我不想更新 package.json 和 sonar-project.properties 文件中的版本。声纳扫描将在带有图像 sonarsource/sonar-scanner-cli:latest 的容器中执行,因此node
和npm
命令不可用,但如有必要,我愿意安装它们。
解决方案
我发现我用来运行声纳扫描的 docker 映像 (sonarsource/sonar-scanner-cli:latest) 包含node
可执行文件,这意味着我可以使用节点加载值:
sonar-scanner -Dsonar.projectKey=$(node -p -e "require('./package.json').name") -Dsonar.projectVersion=$(node -p -e "require('./package.json').version") -Dsonar.qualitygate.wait=true
推荐阅读
- python - Flask - 回传内部请求的响应
- python-3.x - 检查networkx中两个节点之间图的长度(权重)的功能是什么?
- python - 从列表中删除所有实例
- jenkins - 如何在 Jenkins Pipeline 中引用 Maps 变量的映射
- sharepoint - 使用 Microsoft Graph 按查找 ID 获取 SharePoint 用户
- php - 将待处理队列从 Redis 移动到数据库 - Laravel
- sed - 使用 sed 从文件中删除一个字符会导致一个空文件
- db2 - 访问远程数据库联合 DB2
- pine-script - 如何规范化pinescript中的值
- node.js - npm 错误!缺少脚本:开始问题,我的代码中也没有拼写错误