Diferente destes que estão acessando um projeto diferente
- O pipeline do Azure falhou ao verificar o submódulo recursivo
- Checkout de submódulos em outro projeto no repositório do Azure DevOps
Diferente destes que usam o github:
- Como verificar submódulos no pipeline do Azure?
- Confira o submódulo git do pipeline do Azure
- Fluxo de trabalho adequado para usar submódulos do GitHub com pipelines do Azure Devops (adicionando e verificando)
Diferente disso, pois serve para acessar outro projeto, não o mesmo projeto.
De qualquer forma, o meu é um layout bastante simples. Tenho um projeto com os seguintes repositórios git
- meu-repo (tem submódulos meu-aplicativo, meu-serviço-a, meu-serviço-b)
- meu-aplicativo
- my-service-a (tem submódulos my-lib)
- my-service-b (tem submódulos my-lib)
- minha-lib
O .gitmodules usa caminhos relativos conforme exigido pela documentação dos Submódulos que está em my-repo .gitmodules se parece com
[submodule "my-app"]
path = my-app
url = ../my-app
[submodule "my-service-a"]
path = my-service-a
url = ../my-service-a
[submodule "my-service-b"]
path = my-service-b
url = ../my-service-b
Também tentei URLs completas, mas sem sucesso.
A etapa de checkout se parece com esta
steps:
- checkout: self
submodules: recursive
persistCredentials: true
Mas no final eu recebo o seguinte
Clonando em '/home/vsts/work/1/s/my-app'... remoto: TF401019: O repositório Git com nome ou identificador my-app não existe ou você não tem permissões para a operação que está tentando. fatal: repositório 'https://dev.azure.com/XXXXXXXXXXXXXXXXXX/_git/my-app/' não encontrado
Posso clonar os submódulos com sucesso com o mesmo layout e etapa de checkout que o seu, não importa se eu uso o URL completo ou o URL semelhante
url = ../my-app
Resultado do teste:
Para acessar o repositório no mesmo projeto, verifique novamente se a opção Proteger acesso a repositórios em pipelines YAML está desativada.
Se você ainda não conseguir fazer checkout dos submódulos, verifique se a conta do serviço de construção do pipeline tem acesso de leitura do repositório. Consulte a etapa detalhada aqui .