Pergunta

Eu estou tentando usar CruiseControl 2.7.3 , (o original), para construir um projeto Java que está em um repositório SVN.

A minha configuração de cruzeiro está usando o SVN plug-in para o conjunto de modificação. Quando uma modificação é detectada, uma compilação está programado usando Ant. Esse arquivo de construção Ant, em seguida, usa o svnant Ant tarefas para fazer uma checagem completa do projeto. Por um tempo, tivemos este conjunto apenas para check-out "cabeça", mas nós tivemos casos em que a construção não dispara para um check-in ou dois, porque o check-in ocorreu após a verificação de modificação set, mas antes da chamada formiga svn checkout. Como resultado, estamos a tentar alterar o arquivo de construção Ant para usar o número de revisão que os recupera de verificação modificação.

A página CruiseControl configuração de referência alegações de que uma propriedade, svnrevision , é definir e passado para os construtores, assim como a propriedade label é pela labelincrementers . Parece não ser definido quando eu pressionar o força de construção botão.

Existe Eu preciso de algo para fazer para fazer este movimento?

Foi útil?

Solução

Olhando para o código para o controle de origem SVN parece que svnrevision devem ser repassados ??para o construtor e, assim, ao longo de sua invocação Ant. Você já tentou usar a propriedade do seu script Ant?

Em resposta à pergunta no comentário:

Isso porque, no caso de força de construção não houve modificação, então não há nenhum número de modificação de revisão. Nesse caso, o svnlabelincrementer vai passar o número revisão mais recente para o que você tem localmente, que também será o mais tardar.

Outras dicas

A formiga invocação cruisecontrol tem nada a ver com a etiqueta (SVN) que é construído como tal. O rótulo SVN é usado para anotar os acúmulos de nomes enquanto o build.log é realmente apenas a saída de formiga como ele é passado através cruisecontrol.

Se você gostaria de ter o número de revisão escrito na saída de construção Ant, existem basicamente duas formas:

Uma maneira é ter interagem formiga com svn de alguma forma. Svn em formiga só está disponível através de uma contrib formiga tarefa de tigris, por isso não é trivial para colocar em seu arquivo de formiga. Mas com isso em sua construção, você poderia fazer um svn info e obter o número de revisão como propriedades de formigas à sua disposição.

Outra maneira é usar o svnlabelincrementer para atribuir o número de revisão para o rótulo, e passar essa para o script ant usando o buildproperties que são passados ??de cruisecontrol para os scripts de construção. Como Jay mencionado nos comentários, o rótulo contém apenas a última revisão que criar com sucesso, o que não é o que ele quer. Uma correção foi proposto na neste blog , mas fazer o trabalho no arquivo de construção ant parece mais adequado.

Você pode usar a configuração quietperiod? Depois de um commit, CruiseControl pode esperar por algum período de tempo (digamos, 30 segundos) antes de dar início a uma compilação.

Não vai disparar indivíduo constrói para cada commit. Em vez disso, commits ao redor do mesmo tempo, vai lançar uma única construção.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top