小编Tri*_*cky的帖子

规则参数的模式匹配 Gitlab CI

我正在尝试利用规则:参数使作业仅在指定用户进行推送时出现在管道中。我不想为每个作业定义用户列表,因此我有以下全局变量:

variables:
  USER_LIST: "user1 user2 user3"
Run Code Online (Sandbox Code Playgroud)

在工作中,我有以下几点:

rules:
 - if '$USER_LIST =~ /$GITLAB_USER_LOGIN/'
    when: on_success
 - when: never
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用,因为我怀疑正在使用的正则表达式模式没有被变量替换,并用作$GITLAB_USER_LOGIN搜索字符串。如果我使用显式搜索:

rules:
 - if '$USER_LIST =~ /user1/'
    when: on_success
 - when: never
Run Code Online (Sandbox Code Playgroud)

那么模式就匹配得很好了。

注意:我知道这GITLAB_USER_LOGIN是一个受保护的变量。我也遇到同样的问题GITLAB_USER_EMAIL

所以问题是,如何将 GITLAB 预定义变量放入将用于模式匹配的字符串中?

regex gitlab-ci

8
推荐指数
2
解决办法
1万
查看次数

Gitlab 运行者不会杀死被取消的工作

我们有一些作业需要几个小时才能运行,有时您可以检测到它会提前失败,因此取消作业可能会很有用。但是,当作业从作业列表中消失时,它不会释放运行程序,并且任务仍会在托管运行程序的计算机上运行。杀死它的唯一方法似乎是连接到运行程序并杀死它正在运行的进程。

跑步者如何杀死工作?Gitlab-runner 在 Linux 机器上运行,而不是在 Docker 容器内运行。

gitlab gitlab-ci gitlab-ci-runner

5
推荐指数
0
解决办法
859
查看次数

如何迭代所有字典组合

考虑我有以下字典:

someDict = {
  'A': [1,2,3],
  'B': [4,5,6],
  'C': [7,8,9]
}
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以迭代为所有可能的组合创建新的字典,即?

{'A' : 1, 'B': 4, 'C':7}
{'A' : 1, 'B': 4, 'C':8}
{'A' : 1, 'B': 4, 'C':9}
{'A' : 2, 'B': 4, 'C':7}
Run Code Online (Sandbox Code Playgroud)

ETC

python combinations dictionary combinatorics

4
推荐指数
1
解决办法
1225
查看次数