Предпосылка управления пакетами заключается в том, что пакет является неизменным.Это включает целый ряд параметров кэширования, которые в противном случае не существовали бы.Пакеты хранятся в локальном кэше пакетов, возможно, в кэше пакетов прокси-каналов, и все эти элементы предполагают, что пакеты с одинаковым именем + версия неизменны и будут обслуживать кэшированную версию вместо последней версии, которую вы отправили.Большинство систем пакетов построено на этой предпосылке, включая Nuget и NPM.
Хитрость в создании моментальных снимков разработки заключается в использовании семантического управления версиями и добавлении уникального суффикса к вашей версии.Например, 1.2.3-SNAPSHOT.1
, за которым следует 1.2.3-SNAPSHOT.2
, для конвейеров Azure доступны инструменты, такие как GitVersion , которые могут автоматически генерировать уникальную версию + суффикс, который можно передать в версию для своего артефакта.
Если вы не хотите «портить» ваш канал основного пакета, вы можете настроить второй канал для целей разработки, который содержит все ваши промежуточные пакеты, затем вы можете либо добавить один из этих пакетов в свой основной канал, либоможет запустить определенный конвейер (конфигурацию) для отправки окончательного пакета на канал, используемый для ваших стабильных пакетов.