предотвратить форсирование сборки при выполнении другой сборки с использованием cc.net - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть требование не запускать сборку во время выполнения другого проекта:

<cb:config-template xmlns:cb="urn:ccnet.config.builder">

    <project name="prj1" queue="Q1" queuePriority="1">
    </project>

    <project name="prj2" queue="Q1" queuePriority="2">
    </project>

    <project name="prj3" queue="Q1" queuePriority="3">
    </project>

    <project name="prj4" queue="Q1" queuePriority="4">
    </project>

</cb:config-template>

Рассмотрим сборку для prj4, равную inProgress, когда я форсирую сборку для prj1. Это не должно продолжаться. Нужно показать всплывающее окно и запросить подтверждение. Может кто-нибудь знает, как подойти к этому?
Я строю сценарии, используя nant команды. Спасибо.

1 Ответ

0 голосов
/ 04 сентября 2018

Если проекты 1 и 2 должны выполняться по одному за раз, поместите их в очередь, которая позволяет только 1 сборку за раз. Вы сделали часть этого, так как ваши элементы сборки находятся в одной очереди (которую я как-то пропустил раньше).

Я не уверен, как вы скажете CC.Net, где должно появиться приглашение. Во время тестирования оно может появиться на вашем компьютере, если именно там вы тестируете, но как только вы развернете - это приглашение (в любой форме) появится в другом месте, если вы его вообще увидите. CC.Net может работать как служба, поэтому приглашение не появится.

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

Я предпочитаю, чтобы серверы CCNet находились на автопилоте, поэтому для управления всем этим я настраивал очереди и глубину очереди (т. Е. Количество активных сборок, которые могут одновременно выполняться в определенной очереди). Поскольку документы так сильно изменились, может быть сложно найти эту информацию. Я вижу, что CC.Net теперь перешел на github. https://github.com/ccnet/CruiseControl.NET

Кстати, я заметил, что есть функция блокировки очереди , которую я раньше не видел. На каком-то уровне это может помочь, но не дает подсказки.

...