Quando você tiver uma atividade que possa ser proveitosamente executada em vários servidores, poderá utilizar o recurso de difusão para repetir a mesma etapa em vários servidores.
Normalmente, uma etapa é executada em apenas um servidor. Entretanto, toda etapa tem uma caixa de opção
Difusão. Quando a caixa
Transmissão de uma etapa
está marcada, no tempo de execução, o sistema substitui a etapa por um conjunto de
etapas de não transmissão, um para cada servidor que corresponde ao seletor
da etapa.
Nota: Se o seletor da etapa corresponder a apenas um servidor, então a etapa será executada apenas uma vez.
Usos possíveis para difusão incluem:
- Reinicialização de um grupo de servidores.
- Execução de um teste em um grupo de servidores.
- Cópia do mesmo conjunto de arquivos para um grupo inteiro de servidores.
- Verificação do mesmo conjunto de código-fonte para vários servidores, preparando-os
para tarefas individuais posteriores com uma única etapa de fácil manutenção.
Encadeando em Etapas de Transmissão
Ao criar etapas de substituição
para uma etapa de difusão no momento da execução, o sistema encadeia as etapas como a seguir:
- Se a propriedade Encadeamento da etapa de transmissão
estiver configurada como Não, as etapas de substituição obterão o
mesmo valor de Encadeamento e, portanto, serão todas executadas em série.
Cada etapa deverá ser concluída para que a próxima possa ser iniciada.
- Se a propriedade Encadeamento estiver
configurada como Sim, as etapas de substituição também obterão
os mesmos valores de Encadeamento. Isso resulta em um conjunto
de etapas que são executadas em paralelo entre si e com todas as etapas
encadeadas que precedem ou vêm após a etapa de transmissão.
- Se uma propriedade Encadeamento da etapa de transmissão
estiver configurada como Junção, o sistema criará as etapas de
substituição com Encadeamento configurado como Sim, exceto
a última etapa, que estará marcada como Junção. O resultado
é um conjunto de etapas que são executadas em paralelo entre si e com todas
as etapas encadeadas que as precedem, mas o conjunto inteiro deve ser concluído
para que a etapa seguinte à etapa de transmissão possa ser iniciada.
Ativando Outros Projetos a Partir de uma Etapa de Transmissão
Você pode
transmitir uma etapa que inclua um projeto sequencial ou que encadeie um projeto na transmissão ou falha da etapa (Cadeia de Transmissão/Cadeia de Falha). Ao transmitir uma etapa que ative (encadeie) outro projeto, lembre-se de que a etapa de transmissão não substitui o seletor do projeto ativado. Em geral, use uma biblioteca (um projeto que não tem seu próprio seletor) ao ativar um projeto de uma etapa de transmissão, se sua intenção for ativar o projeto em todos os servidores que correspondam ao seletor da etapa de transmissão.
Se você não usar uma biblioteca, cada cópia da etapa de transmissão será executada em um servidor diferente, mas o projeto embutido ou encadeado obedecerá seu próprio seletor, que pode não escolher o mesmo servidor que a cópia da etapa de transmissão. É possível finalizar cada etapa de difusão em um servidor diferente, enquanto todas as etapas de um projeto sequencial são executadas no mesmo servidor, várias vezes.
Nota: Se sua intenção for utilizar Difusão para ativar uma biblioteca uma vez em cada servidor que corresponda a um seletor, assegure-se de definir também a opção Simultâneo na biblioteca, para que todas suas etapas (que utilizam o servidor de projetos padrão) sejam executadas no mesmo servidor.