Como administrador do Code Stream, você pode compartilhar pipelines para que os usuários de uma organização possam executá-los em qualquer outro projeto ou adicioná-los como tarefas aninhadas dentro de um pipeline em outro projeto.

Por que um pipeline compartilhado é útil

Ao compartilhar um pipeline, você elimina a necessidade de criar o mesmo pipeline para diferentes projetos em uma organização. E se você atualizar um pipeline compartilhado, todos os usuários do pipeline terão a mesma atualização.

Um pipeline compartilhado também pode ser usado no Service Broker. Um administrador do Service Broker pode adicionar seu pipeline compartilhado como item de catálogo para que os usuários solicitem e executem em vários projetos.

Somente os administradores do Code Stream podem compartilhar ou interromper o compartilhamento de pipelines.

Como compartilhar um pipeline

Para compartilhar um pipeline, clique em Pipeline e selecione o pipeline que você deseja compartilhar.

  1. Clique em Ações > Compartilhar entre projetos
  2. Se o pipeline estiver desativado, clique em Ações > Ativar.
  3. (Opcional) Para disponibilizar seu pipeline compartilhado no Service Broker, clique em Ações > Liberar .

    Depois de liberar o pipeline, um administrador do Service Broker poderá adicionar você ao Service Broker. Consulte Adicionar pipelines do Code Stream ao catálogo do Service Broker.

Como executar um pipeline compartilhado

Para executar um pipeline compartilhado, selecione o pipeline e selecione um projeto.

O pipeline é executado no contexto do projeto selecionado e apenas o modelo de pipeline é compartilhado. Qualquer infraestrutura, como endpoints ou variáveis usadas no pipeline, não é compartilhada. Se um pipeline compartilhado que usa endpoints ou variáveis for executado em um projeto diferente, esses endpoints e variáveis deverão estar disponíveis nesse projeto.

Por exemplo, digamos que jenkinsPipeline use projectA e inclua uma tarefa com um endpoint chamado jenkinsEndpoint.

Antes de executar um pipeline compartilhado, verifique se ele inclui o conteúdo necessário para executar o pipeline em um projeto diferente.

Se você compartilhar jenkinsPipeline e quiser executá-lo no contexto de projectB, deverá haver um jenkinsEndpoint em projectB. Se não houver jenkinsEndpoint, crie o endpoint em projectB antes de executar o pipeline compartilhado.

O procedimento a seguir mostra como duplicar um endpoint em outro projeto. Você segue etapas semelhantes para uma variável.

  1. Clique em Endpoints. No endpoint que você deseja duplicar, por exemplo, jenkinsEndpoint, clique em Ações > Exportar.
  2. Clique no botão Importar e selecione o arquivo YAML para jenkinsEndpoint.
  3. Edite o arquivo para alterar o projeto, como projectB no código YAML de amostra a seguir.
    ---
    project: projectB
    kind: ENDPOINT
    name: jenkinsEndpoint
    ...
  4. Clique em Importar.

Para executar jenkinsPipeline em projectB, clique em Executar no cartão de pipeline e selecione projectB como o projeto.

Observação: Para executar o pipeline compartilhado em projectB, você deve ter a função Code Stream de administrador, desenvolvedor ou executor. Se você for um espectador ou usuário do Code Stream, não poderá executar o pipeline, a menos que um administrador do Code Stream o torne um administrador de projeto ou membro do projeto em projectB. Para obter mais informações sobre como gerenciar funções no Code Stream, consulte Como gerenciar o acesso do usuário e as aprovações no Code Stream.

Como adicionar um pipeline compartilhado a outro pipeline

Usar pipelines compartilhados como tarefas aninhadas em outro pipeline permite estender a funcionalidade do pipeline além dos pipelines que estão incluídos em um projeto. Os pipelines compartilhados podem estar em projetos diferentes uns dos outros e do pipeline em que estão incluídos como tarefas aninhadas.

O exemplo a seguir mostra um pipeline chamado master-shared-pipeline-demo com duas tarefas de pipeline aninhadas.

Ao criar um pipeline com pipelines compartilhados aninhados, selecione o pipeline compartilhado e, se houver dois pipelines com o mesmo nome, use o nome do projeto para selecionar o desejado.

Para especificar o pipeline para Task0, selecione em uma lista de pipelines compartilhados. Cada nome de pipeline inclui o nome do projeto. Se vários pipelines compartilhados tiverem o mesmo nome, você poderá usar o nome do projeto para selecionar o desejado.

Observação: Para executar um pipeline que inclui pipelines aninhados, o pipeline deve ser capaz de acessar quaisquer endpoints ou variáveis que são usados nos pipelines aninhados. Se não for possível, você deverá criar o conteúdo no projeto para o pipeline.

Como usar um pipeline compartilhado para reversão

Para usar um pipeline compartilhado para reversão, selecione-o em uma lista de pipelines ao configurar a reversão da tarefa. O Code Stream filtra a lista para exibir apenas pipelines no mesmo projeto ou pipelines compartilhados em diferentes projetos.

Ao adicionar um pipeline compartilhado para reversão, selecione o pipeline compartilhado e, se houver dois pipelines com o mesmo nome, use o nome do projeto para selecionar o desejado.

Como usar um VMware Cloud Template compartilhado em um pipeline

Você pode usar um VMware Cloud Template compartilhado como uma origem de modelo de nuvem para uma tarefa em um pipeline. O uso de modelos de nuvem compartilhados fornece acesso a mais modelos de nuvem do que aqueles incluídos em um projeto.

Antes de definir a tarefa no Code Stream, verifique se o modelo de nuvem é compartilhado no Cloud Assembly e se você sabe o nome e a versão. Quando um modelo de nuvem é compartilhado, um ícone ao lado do nome do projeto é exibido na lista de modelos de nuvem.

Antes de adicionar um modelo de nuvem compartilhado como origem no pipeline, verifique se o VMware Cloud Template é compartilhado no Cloud Assembly.

Para usar um VMware Cloud Template compartilhado no pipeline compartilhado:
  • Para Tipo de tarefa, selecione VMware Cloud Template.
  • Para Ação, selecione Criar Implantação ou Atualizar Implantação.
  • Se você estiver atualizando uma implantação, selecione o Nome da implantação.
  • Para Origem do modelo de nuvem, selecione VMware Cloud Template.
  • Para Nome do modelo de nuvem, selecione na lista de modelos de nuvem ou digite um nome. Se você não vir o modelo de nuvem listado, isso ocorrerá porque o modelo de nuvem está em um projeto diferente do pipeline e o Code Stream lista apenas os modelos de nuvem que estão no mesmo projeto.
  • Para Versão do modelo de nuvem, digite a versão do modelo de nuvem.

No exemplo a seguir, shared-bp é o VMware Cloud Template compartilhado que você verificou no Cloud Assembly e deseja usar, mas ele não está listado como seleção, então você digita o nome.

Ao definir uma tarefa com um modelo de nuvem compartilhado, verifique se o modelo de nuvem é compartilhado no Cloud Assembly e, em seguida, digite o nome e a versão no Code Stream.
Observação: Se o VMware Cloud Template que você especificar não for compartilhado e tentar usá-lo em um pipeline em um projeto diferente, o pipeline falhará ao ser executado com uma mensagem indicando que o modelo de nuvem selecionado não está compartilhado.

Como excluir ou parar de compartilhar um pipeline

Se você adicionar um pipeline compartilhado como uma tarefa aninhada ou reverter uma tarefa, esse pipeline será referenciado pelo pipeline no qual ele é usado. Se você quiser excluir ou interromper o compartilhamento do pipeline, deverá removê-lo de qualquer pipeline que faça referência a ele.

Por exemplo, se master-shared-pipeline-demo incluir Shared-Pipeline como uma tarefa aninhada, Shared-Pipeline será referenciado. Você não pode excluir ou interromper o compartilhamento de Shared-Pipeline até removê-lo de master-shared-pipeline-demo.

Ou se TestRollback usar Shared-Pipeline para reverter uma tarefa, Shared-Pipeline será referenciado. Não é possível excluir ou parar Shared-Pipeline até removê-lo da reversão na tarefa em TestRollback.

O procedimento a seguir mostra como verificar as referências de um pipeline e removê-lo do pipeline que faz referência a ele antes de excluí-lo ou interrompê-lo.

  1. Verifique se há referências e atualize as referências de pipeline, se encontradas.
    1. Clique em Pipelines. No pipeline compartilhado que você deseja verificar, clique em Ações > Exibir referências.
    2. Anote os nomes de quaisquer Pipelines referenciados.Antes de remover um pipeline compartilhado, verifique se ele é usado como um pipeline aninhado ou para reversão por outros pipelines.
    3. Abra os pipelines que fazem referência ao pipeline compartilhado. Remova o pipeline compartilhado que está sendo usado como uma tarefa aninhada ou para reverter uma tarefa e salve o pipeline.
  2. Exclua ou pare de compartilhar um pipeline.
    • No pipeline que você deseja excluir, clique em Ações > Excluir.
    • No pipeline que você deseja interromper o compartilhamento, clique em Ações > Parar compartilhamento.