GitLab CI更改变量

GitLab CI更改变量,gitlab,gitlab-ci,Gitlab,Gitlab Ci,我使用$CI\u COMMIT\u REF\u NAMEGitLab预定义变量作为docker图像标记名 范例 /kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME 不幸的是,$CI\u COMMIT\u REF\u NAME中的某些字符不允许用作docker标记 是否可以像删除

我使用
$CI\u COMMIT\u REF\u NAME
GitLab预定义变量作为docker图像标记名

范例

/kaniko/executor --context $CI_PROJECT_DIR --dockerfile $CI_PROJECT_DIR/Dockerfile --destination $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
不幸的是,
$CI\u COMMIT\u REF\u NAME
中的某些字符不允许用作docker标记


是否可以像删除或更改某些字符一样更改
$CI\u COMMIT\u REF\u NAME的值?

GitLab提供了
CI\u COMMIT\u REF\u SLUG
,即:

$CI\u COMMIT\u REF\u NAME
小写,缩短为63字节,除
0-9
a-z
外的所有内容均替换为
-
。无前导
/
尾随
-
。在URL、主机名和域名中使用


您可以检查此处可用的变量:

您可以使用
sed
执行搜索和替换操作:
/kaniko/executor--context$CI\u PROJECT\u DIR--dockerfile$CI\u PROJECT\u DIR/dockerfile--destination$CI\u REGISTRY\u IMAGE:$(sed“s/search/replace/$CI COMMIT\u REF\u NAME/g)
您有一个示例标签吗?也许修改标签是有意义的strategy@leoschet标记示例功能/My-project-123。对于docker图像,我希望有一个标记功能\u My-project-123@Hassan它是真的
sed
语法吗?我从来没有见过sad命令的这种用法,只适用于文件良好的解决方案。缺点是对于2.0之类的标记将发布标签为2-0的图像是的,好的一面是它已准备好DNS。另一种选择是使用Hassan的评论