i
Size: a a a
i
🅐
DV
npm run release:(major/minor/patch)
, которое запускало семвер, бампало версию, пушило и вешало соответствующий тег на коммитDV
DV
S
- if [[ $CI_COMMIT_REF_SLUG == "hotfix"* ]] || [[ $CI_COMMIT_REF_SLUG == "release"* ]]; then DATADIR='production'; else DATADIR='develop'; fi
- echo $CI_COMMIT_REF_SLUG
- if [[ $CI_COMMIT_REF_SLUG == "hotfix"* ]] || [[ $CI_COMMIT_REF_SLUG == "release"* ]]; then DATADIR='production'; else DATADIR='develop'; fi
- echo $DATADIR
SG
АС
.install dependencies:от нее я наследую целевые джобы. например
image: node:14.7.0-alpine
stage: dependencies
dependencies:
- source cooking
cache:
key: ${CI_COMMIT_REF_SLUG}-review-${CI_JOB_NAME##* }
paths:
- apteka.mobile/node_modules
- apteka.server/node_modules
- build/
only:
- branches
install dependencies for apteka.mobile:Идея в том, что из имени джобы будет браться последнее слово (в данном случае apteka.mobile) и подставляться в имя ключа кэша. Но этого не происходит,
extends: .install dependencies
script:
- cd apteka.mobile
- npm install
${CI_JOB_NAME##* }
возвращает пустоту и ключ выглядит как branch-name-review--
. Однако если я в скрипте укажу echo ${CI_JOB_NAME##* }
то выводится apteka.mobileАС
SM
echo ${CI_JOB_NAME##* }
это в интерприторе выполняется, `key: ${CI_COMMIT_REF_SLUG}-review-${CI_JOB_NAME##* }
это нетАС
SM
АС
variables:
TARGET: ${CI_JOB_NAME##* }
dependencies:
- source cooking
cache:
key: ${CI_COMMIT_REF_SLUG}-review-${TARGET}
АС