CCNET передает следующие параметры внешним программам:
CCNetArtifactDirectory
CCNetBuildCondition
CCNetBuildDate
CCNetBuildTime
CCNetFailureUsers
CCNetIntegrationStatus
CCNetLabel
CCNetLastIntegrationStatus
CCNetListenerFile
CCNetModifyingUsers
CCNetNumericLabel
CCNetProject
CCNetProjectUrl
CCNetRequestSource
CCNetUser
CCNetWorkingDirectory
Как видите, LastIntegrationStatus
например, доступно через CCNetLastIntegrationStatus
, но LastModificationDate
например, не имеет эквивалента.
Вы можете передать дополнительные аргументы через <buildArgs>
или <environment>
, но внутри конфигурации CCNET. У вас есть нет доступа в свойствах интеграции, упомянутых выше.Большинство людей, начинающих с CCNET (включая меня), пробуют что-то вроде <buildArgs>$(CCNetProject)</buildArgs>
и терпят неудачу.
Посмотрите на мой ответ на аналогичный вопрос .
Извините, я могуне предоставим лучшего решения.
Обновление (в отношении Предложение мыслителя ):
Использование $[$CCNetLabel]
в конфигурации CCNET, похоже, не работает.
Откровенно говоря, я был бы весьма удивлен, если бы это было так.Конфигурация - это что-то статичное, тогда как CCNetLabel
- это что-то динамическое, которое может меняться при каждой сборке интеграции.Предполагая, что у вас есть доступ к этим динамическим свойствам внутри конфигурации, конфигурация может меняться при каждой сборке.Поскольку изменение конфигурации означает автоматический перезапуск сервера CCNET, вы должны вызывать перезапуск сервера при каждой сборке.Не совсем желаемое поведение, правда?