如何根据控制台输出中的文本使 GitLab 的 CI/CD 作业失败?

2023-12-25

我在用Lerna https://github.com/lerna/lerna管理多包存储库,在我的部署工作中,我使用 Lernapublish命令。对我来说,如果包中的代码发生更改,它应该始终向我们的 Artifactory 发布新版本,如果没有发布任何内容,则作业失败,但是publish即使没有发布任何包,命令也会以成功代码退出(我猜是 0 代码):

$ npx lerna publish from-package --yes

lerna notice cli v3.13.1
lerna info ci enabled
lerna notice from-package No unpublished release found
lerna success No changed packages to publish 
Job succeeded

我想我可以通过将输出传送到 GREP 并搜索文本来解决这个问题"No changed packages to publish"但随后不知道如何告诉 Gitlab 在找到该文本时使作业失败。

有什么建议么?


如果您打电话npx在 bash 脚本中,您可以捕获文本并以非 0 状态退出:

lerna_output=$(npx lerna publish from-package --yes) || exit $?
nothing_published=$(echo $lerna_output | grep 'No changed packages to publish')
if [ "$nothing_published" != "" ]; then
    echo $lerna_output
    exit 1
fi
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据控制台输出中的文本使 GitLab 的 CI/CD 作业失败? 的相关文章

  • 在 GitLab CI 中使用合并请求作业中的工件

    在我的项目中 我使用合并请求来测试构建 并在提交合并到主版本后进行部署 目前我的 gitlab ci yml好像 build stage build script yarn build artifacts paths public depl
  • 如何查找出现在括号之间的所有单词?

    我有一个文件 其中包含括号中的一些单词 我想编制一个出现在那里的所有独特单词的列表 例如 This is some text This text has some words in parenthesis Sometimes there a
  • 寻找下一个开放端口

    有没有什么办法 使用基本的 Unix 命令 找到下一个未使用的端口号 从端口 4444 开始向上 我通过 ssh 通过 openssh 进入 Windows XP 计算机 运行 Cygwin 工具并使用 bash shell 谢谢 戴夫 尝
  • 如何从脚本向 sudo 提供密码?

    请注意 这是在我的本地计算机上运行的来宾虚拟机 VBox 我不担心安全性 我正在编写一个将在 Linux Ubuntu VM 上执行的脚本myuser用户 该脚本将在下面创建一个非常大的目录树 etc myapp 目前我必须手动完成所有这些
  • Bash 中的 Shellshock 漏洞背后的行为是有记录的还是有意为之?

    最近的一个漏洞 CVE 2014 6271 http web nvd nist gov view vuln detail vulnId CVE 2014 6271 如何Bash http en wikipedia org wiki Bash
  • 当我通过 shell 脚本创建 .txt 文件时,为什么文件名末尾出现问号? [复制]

    这个问题在这里已经有答案了 我正在编写一个 shell 脚本 我应该在其中创建 1 个文本文件 当我这样做时 文件名末尾出现一个问号 是什么原因 我正在 bash 脚本中尝试以下方法 1 grep ERROR a1 gt text txt
  • gitlab runner ssh私钥644文件权限错误

    运行 gitlab ci cd 管道时 ssh 给出 0644 badpermission 错误 变量作为文件类型存储在 gitlab 的 settings gt variable 部分中 gitlab ci yml 文件如下所示 stag
  • bash双括号问题

    我对 bash 脚本非常陌生 在使用双括号时遇到了问题 我似乎无法让它们在 Ubuntu Server 11 10 中工作 我的下面的脚本位于 if test sh 中 bin bash if 14 14 then echo FOO fi
  • 如何在Windows Git shell中运行./script.sh?

    也许这很尴尬 但是当我在 Git shell 中工作时 我无法在 Windows 上运行 sh 文件 也许我必须安装一些东西 但我认为 Git 会支持 bash 命令 我知道 Windows 不使用 sh 文件 我正在执行安装步骤游戏结束
  • Bash - 如何将参数传递给通过标准输入读取的脚本

    我正在尝试从标准输入执行脚本并将参数传递给它 有办法做到吗 假设我有以下内容 cat script sh bash 我如何将参数传递给脚本 我不想这样做 bash script sh arguments 也不是这个 script sh ar
  • 访问 bash 命令行参数 $@ 与 $*

    在许多 SO 问题和 bash 教程中 我发现可以通过两种方式访问 bash 脚本中的命令行参数 gt cat testargs sh bin bash echo you passed me echo you passed me 结果是 g
  • 执行 rvm use 2.0.0 --default 时收到“警告!路径未正确设置”

    以上第一次不起作用 第二次起作用 尝试将任何新 shell 窗口的 ruby 版本设置为 2 0 0 Doing rvm use 2 0 0 default gives Warning PATH is not properly set up
  • 从 bash 脚本运行节点

    很简单 我正在尝试使用 cron 自动运行 nodejs 脚本 但是脚本本身似乎无法运行该文件 我的脚本很简单 usr bin env node node var node assets js update js 但是 在运行此命令时 它返
  • 使用Sed查找并替换json字段

    我有一组 json 文件 其中在最后一个键值对之后有需要替换的逗号 RepetitionTime 0 72 TaskName WM Manufacturer Siemens ManufacturerModelName Skyra Magne
  • 如何从 powershell 中设置 bash 的环境变量?

    使用powershell我该如何设置 https askubuntu com q 1205227 45156 the 环境 https stackoverflow com q 5327495 262852变量 这里 特别 https sta
  • 自动检测log4j静态初始化错误的方法

    请注意 这更像是 Bash 问题 而不是 Java 问题 请参阅下面的注释 在每个类中配置log4j时 我们执行以下操作 public class Example private static final Logger log Logger
  • Bash - 在 perl 正则表达式中使用变量以及匹配组

    这是我在 stackoverflow 上的第一篇文章 如果我错过了一些重要的内容 请原谅我 我目前遇到以下问题 目标是根据我准备的文件列表动态替换端口号find 这些文件中的所有端口均以数字 4 开头 有 5 位数字 现在是棘手的部分 我只
  • 如何在 bash 中结合超时和 eval 命令

    为了执行存储在变量中的命令eval使用命令 gt a echo e a nb wc l gt eval a 2 但如何才能与它结合起来呢 timeout命令 我尝试过以下操作 这给了我错误的输出 gt timeout 10 a a b wc
  • 将 JSON 数组转换为 bash 数组并保留空格

    我想将 JSON 文件转换为 bash 字符串数组 稍后我可以对其进行迭代 我的JSON结构如下 USERID TMCCP CREATED DATE 31 01 2020 17 52 USERID TMCCP CREATED DATE 31
  • 将数组传递给函数名称冲突

    Specs GNU bash 版本 3 1 17 无法升级 Premise 我一直在摆弄数组 我想知道是否有任何方法可以让函数的本地变量与所述函数外部的数组同名 Example 在下面的示例中 我将尝试显示该问题 Working bin b

随机推荐

  • htaccess 在包含 HTTP 451 参数时“中断”

    对于我的网页 我有一个 htaccess文档看起来像这样
  • Python:读取临时文件时返回空字符串

    我需要从字符串创建一个文件 以便可以将其用作 Django 中电子邮件的附件 经过一番谷歌搜索后 我发现了带有 TemporaryFile 的临时文件模块 但它没有按我的预期工作 以下代码返回一个空字符串 gt gt gt f tempfi
  • 我如何将数据传递到我的 SQLite 数据库中

    你好 我对编程很陌生 我最近启动了一个 IONIC 应用程序 然而我被卡住了 我想做一些类似电话簿的东西 你可以在其中获取随机的 JSON 联系人并将它们保存到你的 sqlite 数据库中 我懂了 import Storage from i
  • 如何列出包括点文件但不包括 .和 ..?

    如何得到Dir 包括点文件 例如 gitignore 但不是 and 即 有没有更好的方法可以做到 ls A split n 也许与Dir 以下解决方案很接近 但都包括 Dir glob File FNM DOTMATCH Dir 因此 以
  • 这些在 jQuery 选择器中转义方括号的不同方法有什么区别

    有什么不同在这些不同的方法之间转义 jQuery 选择器中的方括号 有正确或错误的方法 还是这两种方法都正确 我读过不同的答案 包括this https stackoverflow com questions 1466103 jquery
  • 我想知道为什么我的playerIMG无法在pygame中加载

    下面是我的代码 这是我的第一个 pygame 项目 任何帮助将不胜感激 我认为这与 def 玩家 玩家 玩家 pygame display update 代码块 尽管当我使用它时 有时它甚至不会显示我的背景对象 而只显示屏幕填充黑色 imp
  • CSS:Em 舍入误差

    最近 我重写了我正在制作的网站的 CSS 文件 并尝试使用 em 而不是 px 使大多数元素和字体的大小动态化 尺寸可以工作 有点 但至少有一个问题 当使用 em 单位作为盒子的边距 边距 0 25em 时 在 Firefox 中 我在顶部
  • 从 iPhone 模拟器获取图像

    我刚刚创建了一个图像并将其保存在 iPhone 模拟器手机库中 我想查看此图像 不是来自照片库 以从文档资源查看其属性 但我无法访问照片库的内容 Thanks Pankaj 对于 Xcode 6 模拟器图像文件现在位于 Library De
  • 是否可以从 Java 代码调用 Ant 或 NSIS 脚本?

    是否可以在运行时从 Java 代码以编程方式调用 Ant 或 NSIS 脚本 如果是这样 怎么办 You can从 Java 代码调用 ant 脚本 See 本文 http ant apache org manual running htm
  • 如何在调试字符串的函数中获取函数名称?

    我想在每次调用时输出函数名称 我可以轻松复制并粘贴函数名称 但是我想知道是否有快捷方式可以为我完成这项工作 目前我正在做 SlideInfoHeader lynxThreeFile readSlideInfoHeader QDataStre
  • 从用户电子邮件创建哈希/令牌以进行电子邮件验证

    任何人都可以帮我解答如何从用户输入 电子邮件地址 创建安全令牌 或哈希 的问题 我想制作一个用于注册的电子邮件验证系统 用户使用电子邮件地址和密码注册 我想创建一个唯一的 URL 并将其发送给用户 因此出现了问题 我将这些 安全地 存储在临
  • Android通知空指针异常

    我在活动中设置了通知 它按预期创建通知 当我返回主屏幕时 通知仍然在那里 很好 如果我单击通知 它会将我带回到创建它的活动 这太棒了 如果我单击按钮取消通知 则会收到 NullPointerException 这是电话 if notific
  • 简单的 DocumentDb 存储过程

    我正在尝试创建一个简单的 DocumentDb 存储过程以更好地理解其概念 在此示例中 我尝试返回所有 女性 用户 我是否需要关心返回单个匹配文档或多个文档 我的用户对象如下所示 id e85ee3d7 44a5 4250 a116 686
  • 如何仅在大括号之外搜索正则表达式

    我有这个正则表达式变量 var regexp new RegExp RegExp quote myExpression b g 它搜索后面有空格的表达式 RegExp quate 我从中得到如何在javascript中转义正则表达式 htt
  • 为什么使用 jQuery 返回 false 会停止传播,而使用 POJS 则不会?

    这是一个使用 POJS 的 jsfiddle 显示了return false 不会停止事件的传播 http jsfiddle net Ralt Lz2Pw http jsfiddle net Ralt Lz2Pw 这是另一个使用 jQuer
  • Rails PaperClip Attachments,知道是否有图像缩略图?

    我正在使用 Rails 3 回形针 并允许用户将附件上传到附件模型 如果文件是图像 应用程序会生成图像预览 如果文件不是 则仅上传文件 无图像预览 现在我想显示数据库中所有附件的列表 所以我使用attachment attachment l
  • ASP.NET MVC 中的 WebApi [FromUri] 等效项是什么?

    在 WebApi 中 我可以用以下方法装饰控制器操作上的参数 FromUri 如果愿意的话 将 URI 的组件 反序列化 到 POCO 模型中 又名模型绑定 尽管从 2 0 开始就使用 MVC 但我从未将它用于网站 我不知道为什么 在 AS
  • 如何根据 C# 和 .NET 中的周数获取月份

    我怎样才能得到month根据指定的周数 例如 如果获取周数2返回月份1 January 将周数乘以 7 例如 如果周数为 12 则将 12 乘以 7 这将表示已经过去的天数 四舍五入到最接近的周 将该数字除以 30 在示例中 我们计算得出的
  • 使用 mongoose 完成两个异步查询后进行回调

    使用猫鼬 我希望在两个不同的查询完成后进行回调 var team Team find name myteam var games Game find visitor myteam 那么假设我希望这些请求非阻塞并异步执行 如何在 Promis
  • 如何根据控制台输出中的文本使 GitLab 的 CI/CD 作业失败?

    我在用Lerna https github com lerna lerna管理多包存储库 在我的部署工作中 我使用 Lernapublish命令 对我来说 如果包中的代码发生更改 它应该始终向我们的 Artifactory 发布新版本 如果