3
votes

I created main project

https://dev.azure.com/GilbertHsu/pipeline_test

with 3 projects as submodules in the main project

https://dev.azure.com/GilbertHsu/otherProjectA

https://dev.azure.com/GilbertHsu/otherProjectB

https://dev.azure.com/GilbertHsu/otherProjectC

Which are using default settings of each project. And in the pipelines azure-pipelines.yml:

jobs:
- job: MacOS
  strategy:
    matrix:
      mac:
        imageName: 'macOS-10.14'
  pool:
    vmImage: $(imageName)
  steps:
    - template: azure-pipelines-ci/macos.yml

in the azure-pipelines-ci/macos.yml:

# macOS-specific:
# ref. https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabls=schema%2Cparameter-schema&tabs=schema%2Cparameter-schema#checkout
steps:
  - checkout: self
    clean: true
    path: pipeline-test 
    submodules: true

the .gitmodules:

[submodule "otherProjectA"]
    path = otherProjectA
    url = ../../../otherProjectA/_git/otherProjectA
[submodule "otherProjectB"]
    path = otherProjectB
    url = ../../../otherProjectB/_git/otherProjectB
[submodule "otherProjectC"]
    path = otherProjectC
    url = ../../../otherProjectC/_git/otherProjectC

when I trigger the pipelines, it always failed in

Submodule 'otherProjectA' (https://[email protected]/GilbertHsu/otherProjectA/_git/otherProjectA) registered for path 'otherProjectA'
Submodule 'otherProjectB' (https://[email protected]/GilbertHsu/otherProjectB/_git/otherProjectB) registered for path 'otherProjectB'
Submodule 'otherProjectC' (https://[email protected]/GilbertHsu/otherProjectC/_git/otherProjectC) registered for path 'otherProjectC'
Cloning into '/Users/runner/work/1/VMCPS/otherProjectA'...
remote: TF401019: The Git repository with name or identifier otherProjectA does not exist or you do not have permissions for the operation you are attempting.
fatal: repository 'https://dev.azure.com/GilbertHsu/otherProjectA/_git/otherProjectA/' not found
fatal: clone of 'https://[email protected]/GilbertHsu/otherProjectA/_git/otherProjectA' into submodule path '/Users/runner/work/1/VMCPS/otherProjectA' failed
Failed to clone 'otherProjectA'. Retry scheduled
Cloning into '/Users/runner/work/1/VMCPS/otherProjectB'...
remote: TF401019: The Git repository with name or identifier otherProjectB does not exist or you do not have permissions for the operation you are attempting.
fatal: repository 'https://dev.azure.com/GilbertHsu/otherProjectB/_git/otherProjectB/' not found
fatal: clone of 'https://[email protected]/GilbertHsu/otherProjectB/_git/otherProjectB' into submodule path '/Users/runner/work/1/VMCPS/otherProjectB' failed
Failed to clone 'otherProjectB'. Retry scheduled
Cloning into '/Users/runner/work/1/VMCPS/otherProjectC'...
remote: TF401019: The Git repository with name or identifier otherProjectC does not exist or you do not have permissions for the operation you are attempting.
fatal: repository 'https://dev.azure.com/GilbertHsu/otherProjectC/_git/otherProjectC/' not found
fatal: clone of 'https://[email protected]/GilbertHsu/otherProjectC/_git/otherProjectC' into submodule path '/Users/runner/work/1/VMCPS/otherProjectC' failed
Failed to clone 'otherProjectC'. Retry scheduled
Cloning into '/Users/runner/work/1/VMCPS/otherProjectA'...
remote: TF401019: The Git repository with name or identifier otherProjectA does not exist or you do not have permissions for the operation you are attempting.
fatal: repository 'https://dev.azure.com/GilbertHsu/otherProjectA/_git/otherProjectA/' not found
fatal: clone of 'https://[email protected]/GilbertHsu/otherProjectA/_git/otherProjectA' into submodule path '/Users/runner/work/1/VMCPS/otherProjectA' failed
Failed to clone 'otherProjectA' a second time, aborting

Googled for such error message, I've tested for the following methods

  1. Set the permissions of each submodules: I add "pipeline_test Build Service" to Users of "Repositories Permissions" of each submodule but still got failed.
  2. Use PAT in the url but not working.

I've been stuck on this issue for several days and really need kindly helping hands.

1

1 Answers

8
votes

Go Project Settings=>Settings(The project where your pipeline exists), disable these two limitations:

enter image description here

Disable these two options like me, then the issue would be resolved.