Я хочу знать, как указать произвольное изображение docker при построении с помощью circleCI. В частности, тег должен преобразовывать буквенно-цифровые c символы выдвинутого имени ветки в дефисы «-». Например, если вы отправили sh в GitHub с именем ветки feature/hoge_fuga
, его необходимо преобразовать в feature-hoge-fuga
.
Этот yaml является образцом конфигурационного файла CircleCI. Посмотрите на строку 5.
version: 2
jobs:
build:
docker:
- image: circleci/<language>:feature-hoge-fuga # <----- I want to do this
steps:
- checkout
- run: <command>
test:
docker:
- image: circleci/<language>:<version TAG>
steps:
- checkout
- run: <command>
workflows:
version: 2
build_and_test:
jobs:
- build
- test
Во-первых, я придумал способ использовать переменную окружения $ CIRCLE_BRANCH.
echo 'export DOCKER_IMAGE_TAG=$(echo $CIRCLE_BRANCH | sed -e "s/[^a-z0-9]/-/g")' >> $BASH_ENV
Таким образом я получил имя идеального тега.
Есть ли способ сделать это до указания тега для изображения docker? Затем я могу использовать переменные среды, чтобы указать это:
version: 2
jobs:
build:
docker:
- image: circleci/<language>:$DOCKER_IMAGE_TAG
steps:
- checkout
- run: <command>
...
Как я могу таким образом достичь своих идеалов? Если это практически невозможно, как достичь моего идеала? Не могли бы вы придумать что-нибудь хорошее?
Извините за мой плохой английский Спасибо!