Teamcity Octopus - развертывание интеграции - принудительное повторное развертывание ранее существующей версии (с использованием опции --force)

Мы используем шаг сборки octopus-deploy в teamcity для развертывания последних успешных сборок из другой конфигурации сборки.

Мое намерение состоит в том, чтобы номера выпуска были привязаны к номерам артефактов (которые в свою очередь привязаны к номерам SCM).

Когда я развожу новую сборку, осьминог создаст новую версию с этой версией и развернет ее.

Если я снова запустил шаг развертывания teamcity (для уже созданного артефакта), осьминог должен повторно развернуть тот же артефакт, используя тот же номер выпуска. (вместо того, чтобы сбой "с этой версией уже существует").

Из документа octo.exe параметр --force должен позволить мне это сделать. (Который я должен был бы добавить в "Дополнительные аргументы командной строки" в teamcity).

Однако я получаю непризнанные аргументы команды: --force ошибка.

Как это исправить? или какие другие варианты? (без изменения стратегии артефакта/выпуска).

Вызов:

octo.exe create-release --server octoServerHostName --apikey SECRET --project ProjectName --enableservicemessages --version 1.0.59356.0 --deployto витрина --waitfordeployment --force

Создание Octopus Deploy release [15:26:05] Octopus Deploy Command Line Tool, версия 2.0.8.22 [15:26:05] [15:26:05] Неопознанные аргументы команды: --force

2 ответа

В развертывании осьминогов 2.0+ вы можете использовать:

--ignoreexisting If a release with the version number already 
 exists, ignore it

--force [Optional] If a project is configured to skip
 packages with already-installed versions,
 override this setting to force re-deployment
 (flag, default false).

Чтобы достичь точного, что вы хотите на одном шаге teamcity, вам понадобятся оба --ignoreexisting --force.


Приведенная ошибка показывает, что на этапе сборки вызывается Octo.exe create-release Octo.exe, версия 2.0.8.22 Octo.exe. Эта версия не имеет аргумента --force, поэтому следует ожидать ошибки.

В зависимости от версии OctopusDeploy, которую вы используете, вы можете попробовать обновить подключаемый модуль до более поздней версии, поддерживающей --force в команде create-release.

При всем том, что я сказал, я не уверен, --force дает вам то, что вы хотите. --force позволяет заставить Octopus переустанавливать уже установленные пакеты, это не заставляет создавать выпуск Octopus, который уже существует.

Возможно, вам захочется использовать комбинацию команд create-release и deploy-release чтобы избежать проблем с попыткой создать выпуск с уже существующей версией - вот что я думаю, что вы пытаетесь сделать с помощью --force.

Надеюсь, это поможет.

licensed under cc by-sa 3.0 with attribution.