Skip to main content
edited body
Source Link
Marco A.
  • 43.8k
  • 27
  • 146
  • 263

I'm posting this as an answer since others weren't completely clear and/or detailed IMHO

Starting from GitLab 8.12+, assuming the submodule repo is in the same server as the one requesting it, you can now:

  1. Set up the repo with git submodules as usual (git submodule add git@somewhere:folder/mysubmodule.git)

  2. Modify your .gitmodules file as follows

     [submodule "mysubmodule"]
       path = mysubmodule
       url = ../../group/mysubmodule.git
    

    where `../../group/mysubmodule.git'../../group/mysubmodule.git is a relative path from your repository to the submodule's one.

  3. Add the following lines to gitlab-ci.yml

     variables:
       GIT_SUBMODULE_STRATEGY: recursive
    

    to instruct the runner to fetch all submodules before the build.

Caveat: if your runner seems to ignore the GIT_SUBMODULE_STRATEGY directive, you should probably consider updating it.

(source: https://docs.gitlab.com/ce/ci/git_submodules.html)

I'm posting this as an answer since others weren't completely clear and/or detailed IMHO

Starting from GitLab 8.12+, assuming the submodule repo is in the same server as the one requesting it, you can now:

  1. Set up the repo with git submodules as usual (git submodule add git@somewhere:folder/mysubmodule.git)

  2. Modify your .gitmodules file as follows

     [submodule "mysubmodule"]
       path = mysubmodule
       url = ../../group/mysubmodule.git
    

    where `../../group/mysubmodule.git' is a relative path from your repository to the submodule's one.

  3. Add the following lines to gitlab-ci.yml

     variables:
       GIT_SUBMODULE_STRATEGY: recursive
    

    to instruct the runner to fetch all submodules before the build.

Caveat: if your runner seems to ignore the GIT_SUBMODULE_STRATEGY directive, you should probably consider updating it.

(source: https://docs.gitlab.com/ce/ci/git_submodules.html)

I'm posting this as an answer since others weren't completely clear and/or detailed IMHO

Starting from GitLab 8.12+, assuming the submodule repo is in the same server as the one requesting it, you can now:

  1. Set up the repo with git submodules as usual (git submodule add git@somewhere:folder/mysubmodule.git)

  2. Modify your .gitmodules file as follows

     [submodule "mysubmodule"]
       path = mysubmodule
       url = ../../group/mysubmodule.git
    

    where ../../group/mysubmodule.git is a relative path from your repository to the submodule's one.

  3. Add the following lines to gitlab-ci.yml

     variables:
       GIT_SUBMODULE_STRATEGY: recursive
    

    to instruct the runner to fetch all submodules before the build.

Caveat: if your runner seems to ignore the GIT_SUBMODULE_STRATEGY directive, you should probably consider updating it.

(source: https://docs.gitlab.com/ce/ci/git_submodules.html)

Source Link
Marco A.
  • 43.8k
  • 27
  • 146
  • 263

I'm posting this as an answer since others weren't completely clear and/or detailed IMHO

Starting from GitLab 8.12+, assuming the submodule repo is in the same server as the one requesting it, you can now:

  1. Set up the repo with git submodules as usual (git submodule add git@somewhere:folder/mysubmodule.git)

  2. Modify your .gitmodules file as follows

     [submodule "mysubmodule"]
       path = mysubmodule
       url = ../../group/mysubmodule.git
    

    where `../../group/mysubmodule.git' is a relative path from your repository to the submodule's one.

  3. Add the following lines to gitlab-ci.yml

     variables:
       GIT_SUBMODULE_STRATEGY: recursive
    

    to instruct the runner to fetch all submodules before the build.

Caveat: if your runner seems to ignore the GIT_SUBMODULE_STRATEGY directive, you should probably consider updating it.

(source: https://docs.gitlab.com/ce/ci/git_submodules.html)