azure укажите, куда выводить задание - PullRequest
1 голос
/ 26 апреля 2020

Я использую vue.js и webpack внутри него. Я также использую azure pipeline yaml в моем проекте.

В azure у меня есть build переменные, что означает, что переменные создаются в azure. Там у меня есть:

- script: |
    npm run production
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/staging'))
  env:
    some_var: 'production'
  displayName: 'Build And Test Staging'

в моем веб-пакете, выходной каталог - папка dist. Теперь мне нужно добавить тот же скрипт, что и выше, в тот же конвейер, но some_var отличается. Это значит, что когда я загружаю свой проект, он строит проект два раза с разными переменными. Проблема, которую это вызывает, состоит в том, что у них обоих будет папка dist, а последняя, ​​которая запустится, переопределит ее.

Мне нужно указать azure pipe yaml, куда поместить папку dist для каждого script. Я не хочу трогать мою конфигурацию webpack (я знаю, как это могло сделать это возможным). Что-то, что я могу поставить для каждого раздела script, чтобы указать, куда поместить папку dist? и Примечание: если это возможно, я хочу, чтобы он тоже создал этот каталог. Таким образом, наличие двух сценариев дало бы мне следующее:

  • firstScriptFolderOutput/dist
  • SecondScriptFolderOutput/dist

Я бы легко использовал их в своем publishartifacts задание после этого.

1 Ответ

0 голосов
/ 27 апреля 2020

Мне нужно указать azure pipe yaml, куда поместить папку dist для каждого скрипта. Я не хочу трогать мою конфигурацию веб-пакета (я знаю, как это могло сделать это возможным)

Поскольку вы не хотите трогать и изменять конфигурацию веб-пакета, я боюсь, что скрипт может не делайте того, что вы хотите, чтобы изменить выходную папку, передав параметр.

Папка dist является выходной папкой по умолчанию в веб-пакете, если вы хотите что-то вроде:

firstScriptFolderOutput/dist
SecondScriptFolderOutput/dist

В качестве обходного пути, рассмотрите возможность добавления соответствующих сценариев, которые выполняют команды mkdir + xcopy под вашим npm скрипты для создания собственной структуры папок.

- script: |
    npm run production
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/staging'))
  env:
    some_var: 'production'
  displayName: 'Build And Test Staging'

One script to create `firstScriptFolderOutput` folder(mkdir) and copy files from ./dist to `firstScriptFolderOutput/dist`

- script: |
    npm run production
  condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/staging'))
  env:
    some_var: 'xxx'
  displayName: 'Build And Test Staging'

One script to create `secondScriptFolderOutput` folder(mkdir) and copy files from ./dist to `firstScriptFolderOutput/dist`
...