【发布时间】:2022-11-09 00:57:17
【问题描述】:
我有一个如下所示的 gitlab 规则条件。
'$ACTION && $REGION && $ROLE_ARN && $PACKAGEURL && $ACTION == "new" && $CLOUD_PLATFORM == "aws" && $ROLE_ARN != "" && $PACKAGEURL != "" && $REGION != ""'
想要稍微修改一下,它应该检查上面是否存在 PACKAGEURL 或 BUILDRPMREQUIRED。
尝试保持如下但即使没有提供 PACKAGEURL 或 BUILDRPMREQUIRED 也会运行。
'$ACTION && $REGION && $ROLE_ARN && ($PACKAGEURL || $BUILDRPMREQUIRED) && $ACTION == "new" && $CLOUD_PLATFORM == "aws" && $ROLE_ARN != "" && ($PACKAGEURL != "" || $BUILDRPMREQUIRED != "") && $REGION != ""'
我遵守如下规则。
.ifawsfulldeploy:
rules:
- if: '$ADMIN_SERVER_IP && $ADMIN_SERVER_IP != ""'
when: never
- if: '$ACTION && $REGION && $ROLE_ARN && ($PACKAGE_URL || $BUILDRPMREQUIRED) && $ACTION == "new" && $CLOUD_PLATFORM == "aws" && $ROLE_ARN != "" && ($PACKAGE_URL != "" || $BUILDRPMREQUIRED != "") && $REGION != ""'
when: always
其他规则应该在那里,只有变量我得到语法错误。
.ifawsfulldeploy:
rules:
- if: '$ADMIN_SERVER_IP && $ADMIN_SERVER_IP != ""'
when: never
- if: '$ACTION && $REGION && $ROLE_ARN && ( $PACKAGE_URL || $BUILDRPMREQUIRED ) && $ACTION == "new" && $CLOUD_PLATFORM == "aws" && $ROLE_ARN != "" && ( $PACKAGE_URL != "" || $BUILDRPMREQUIRED != "" ) && $REGION != ""'
when: always
在我的工作中。
only:
variables:
- $PACKAGE_URL
- $BUILDRPMREQUIRED
extends:
- .ifawsfulldeploy
【问题讨论】: