小编Dán*_*agy的帖子

在 GitLab CI 中定义并行作业序列

在我的gitlab-ci.yml文件中,我定义了 3 个阶段,第 2 和第 3 阶段各有 3 个作业,因此结构如下:

我当前在 GitLab 中的设置

第 1 和第 2 阶段按我的意图工作,但是,对于第 3 阶段,我实际上想要的是这样的(当然,图像是模型),即“并行序列”的工作,如果你愿意的话:

我想要实现的设置模型

也就是说,如果“build-b”完成,我希望“deploy-b”开始,而不是等待其他构建任务完成。

GitLab 管道可以做到这一点吗?(除了定义 2 个阶段的明显解决方案,第二个是“构建和部署”,我只是“合并”script当前构建-*部署-*作业的步骤。)

gitlab gitlab-ci

9
推荐指数
1
解决办法
8375
查看次数

使用对象解构删除属性,不会出现 eslint no-unused-vars 错误

考虑以下代码,我x使用解构创建了一个“副本”,并删除了其中一个属性:

const x = { a: 1, b: 2, c: 3};
const { a, ...x2} = x;
console.log(x);
console.log(x2);
Run Code Online (Sandbox Code Playgroud)

如果我这样做,@typescript-eslint/no-unused-vars会认为这是一个未使用的错误a

如何更改代码来修复错误,而不明确要求 eslint 忽略有问题的行,最好仍然使用解构语法?即我真的不想使用delete,也不想显式枚举所有其他属性,例如const x2 = {b: x.b, c: x.c }.

是否有一种奇特的语法或奇怪的 eslint 规则可以鱼与熊掌兼得?

javascript destructuring unused-variables typescript eslint

6
推荐指数
1
解决办法
1688
查看次数

Gulp 4:如何检测"您是否忘记发信号异步完成?" 复杂构建脚本中的错误

正如已经迁移到Gulp 4的人可能知道的gulp.series那样 - 如果系列中的任务没有正确地表示完成,则不会继续执行.

我的问题是它处理这种错误的方式 - 它只是控制台中的一条消息(你忘了发信号异步完成吗?) ; gulp仍然以错误代码0退出.这意味着如果你在一个更复杂的构建脚本中运行gulp,那么看起来好像一切都没问题,并且当他们显然没有成功完成gulp任务时.(相反,如果抛出错误gulpUtil.plugin error,则会导致非0错误代码.)

所以我的问题是:你如何从外部发现这样的错误?

  • 在这种情况下,有没有办法让gulp退出非0?(是否有我可以订阅的事件并抛出错误,或者我可以设置的配置等)
  • 我应该尝试检查应该生成的资产是否存在?(我发现这个解决方案非常脆弱.)
  • 我应该"观察"控制台消息并查找特定的字符串,例如"你忘了发信号......"吗?(啊!)
  • (是的,我知道我可以用一口气做所有事情然后我不需要检查错误代码,但我们只是假设,实际上,我不能.)

还有其他我没想过的可能性吗?

terminal error-code gulp gulp-4

5
推荐指数
1
解决办法
3315
查看次数