Bitbucket передает, как объединить две переменные для создания другой переменной, которая будет использоваться где-то еще - PullRequest
1 голос
/ 02 декабря 2019

Я пытаюсь обработать конвейер Bitbucket, используя bitbucket-pipelines.yml

    image: microsoft/dotnet:sdk

pipelines:
 branches:
  master:
    - step:
        script:
          - dotnet build $PROJECT_NAME
          - export EnvrBuild=Production_$BITBUCKET_BUILD_NUMBER
          - '[ ! -e "$BITBUCKET_CLONE_DIR/$EnvrBuild" ] && mkdir $BITBUCKET_CLONE_DIR/$EnvrBuild'
          - dotnet publish $PROJECT_NAME --configuration Release
          - cp -r $BITBUCKET_CLONE_DIR/$PROJECT_NAME/bin/Release/netcoreapp2.1/publish/** $BITBUCKET_CLONE_DIR/$EnvrBuild
        artifacts:
          - $EnvrBuild/**

Я новичок в конвейерах в Bitbucket. Когда я выполняю эхо-запрос $ EnvrBuild, я получаю правильный результат, но $ EnvrBuild не имеет ничего на последующих шагах и не производит никаких артефактов, хотя когда я жестко кодирую значения, это работает. Есть ли способ сделать что-то вроде $ BITBUCKET_BUILD_NUMBER + "_" + $ BITBUCKET_BRANCH? (Я знаю, что это неправильно, но вы понимаете, чего я пытаюсь достичь. Заранее спасибо

1 Ответ

1 голос
/ 02 декабря 2019

В расширении переменной нельзя указывать артефакты, необходимо указать статическое значение. Однако вы можете хранить несколько подкаталогов в каталоге компоновки, неявно используя подстановочные знаки. Вот пример:

image: microsoft/dotnet:sdk

pipelines:
    branches:
      master:
        - step:
          script:
            - dotnet build $PROJECT_NAME
            - export EnvrBuild=Production_$BITBUCKET_BUILD_NUMBER
            - '[ ! -e "$BITBUCKET_CLONE_DIR/$EnvrBuild" ] && mkdir $BITBUCKET_CLONE_DIR/$EnvrBuild'
            - dotnet publish $PROJECT_NAME --configuration Release
            - mkdir -p $BITBUCKET_CLONE_DIR/build_dir/$EnvrBuild
            - cp -r $BITBUCKET_CLONE_DIR/$PROJECT_NAME/bin/Release/netcoreapp2.1/publish/** $BITBUCKET_CLONE_DIR/build_dir/$EnvrBuild
          artifacts:
            - build_dir/**
        - step:
          script:
            - export EnvrBuild=Production_$BITBUCKET_BUILD_NUMBER
            - ls build_dir/$EnvrBuild
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...