Я пытаюсь извлечь путь к страницам Gitlab для моего проекта подгруппы.
Переменная CI_PAGES_URL
равна https://mygroup.gitlab.io/subgroup/project/
. Я использовал следующий скрипт для извлечения пути:
echo $CI_PAGES_URL | sed -E 's#^(http|https)://([[:alnum:]\.\-\_]+)(/.+)$#\3#g'
В моем местном окружении все выглядит нормально:
> export CI_PAGES_URL=https://mygroup.gitlab.io/subgroup/project/
> echo $CI_PAGES_URL | sed -E 's#^(http|https)://([[:alnum:]\.\-\_]+)(/.+)$#\3#g'
/subgroup/project/
Но в среде Gitlab CI все пошло не так, как ожидалось:
> echo $CI_PAGES_URL | sed -E 's#^(http|https)://([[:alnum:]\.\-\_]+)(/.+)$#\3#g'
/project/
Естественно, я проверил другие соответствия:
> echo $CI_PAGES_URL | sed -E 's#^(http|https)://([[:alnum:]\.\-\_]+)(/.+)$#\1#g'
https
> echo $CI_PAGES_URL | sed -E 's#^(http|https)://([[:alnum:]\.\-\_]+)(/.+)$#\2#g'
mygroup.gitlab.io/subgroup
> echo $CI_PAGES_URL | sed -E 's#^(http|https)://([[:alnum:]\.\-\_]+)(/.+)$#\3#g'
/project/
Я проверил sed
версию. И CI, и моя локальная среда используют GNU sed 4.4
.
Что происходит?