Я создаю единую базу кода, содержащую несколько проектов, и каждый проект может быть опубликован.
Чтобы создать оптимизированный процесс непрерывной интеграции, я хочу, чтобы мой агент сборки выполнил одну команду, которая публикует все необходимые проекты. будут опубликованы. Очевидно, что это не работает, потому что публикация завершается неудачно, если она будет опубликована поверх ранее опубликованной версии, и это приводит к сбою команды, а все последующие команды не выполняются. Примерно так:
"build-package1": "ng build package1",
"publish-package1": "npm publish ./dist/package1",
"build-package2": "ng build package2",
"publish-package2": "npm publish ./dist/package2",
"build-all": "npm run build-package1 && npm run build-package2",
"publish-all": "npm run publish-package1 && npm run publish-package2"
Так что в этом сценарии, если я запускаю build-all, а затем publish-all и package1 не получит изменения версии в своем файле package.json, то команда завершится ошибкой, а package2не будет опубликовано.
Есть ли какая-либо команда, с помощью которой я могу проверить необходимость публикации, прежде чем пытаться опубликовать?
Я видел этот ответ: https://askubuntu.com/questions/334994/which-one-is-better-using-or-to-execute-multiple-commands-in-one-line/539293#539293
В идеале, хотя я думаю, что публикация будет работать, прежде чем пытаться сделать это, возможно, будет чище.