gpt4 book ai didi

heroku - GitLab CI - 缩短变量值

转载 作者:行者123 更新时间:2023-12-03 14:39:30 26 4
gpt4 key购买 nike

我正在尝试为我的项目启用 Review Apps,并为分支自动部署到 Heroku。每个部署都应具有以下地址:

https://prefix-<branch-name>.herokuapp.com

Heroku 要求应用程序名称不超过 30 个字符,所以我的工作应该缩短分支名称,如果它太长。

我试图以一种常见的 Unix 方式来做到这一点,如下所示:
variables:
REVIEW_APP_NAME: "prefix-${CI_COMMIT_REF_SLUG:0:23}"

但它解决了“前缀-”。

我还找到了以下解决方案,它允许我在脚本部分使用缩短的分支名称。但它仍然不能用于环境 url 参数。这导致应用程序被部署到 Heroku,但 GitLab 根本没有跟踪(环境列表中没有部署,也没有删除分支的操作​​)。
variables:
REVIEW_APP_NAME: "prefix-$${CI_COMMIT_REF_SLUG:0:23}"

before_script:
- eval export REVIEW_APP_NAME=${REVIEW_APP_NAME}

还有其他方法可以实现正确的行为吗?

最佳答案

为此,我们使用了一个简单的 bash 脚本:

#!/bin/bash
set -e

out=${1:0:40}
if [[ $out =~ ^.*-$ ]]; then
out=${out:0:-1}
fi
echo $out

if 语句检查字符串是否以尾随破折号结尾。

然后我们在 CI 中使用我们的脚本,如下所示:
[...]
script:
- export CI_COMMIT_REF_NAME=$(./infrastructure/utils/shorten_branchname.sh $CI_COMMIT_REF_NAME)
[...]

对于使用 docker 或 alpine 的图像,您需要先安装 bash:
[...]
before_script:
- apk add --update bash
[...]

关于heroku - GitLab CI - 缩短变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48915287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com