Назад | Перейти на главную страницу

Рекурсивная проверка подмодулей с помощью gitlab ci

Я создал пример проекта Gitlab. В этом проекте я добавил .gitmodules, который ссылается на другой проект в моей группе Gitlab.

Я использую GIT_SUBMODULE_STRATEGY: recursive в .gitlab-ci.yml, как предлагается в документация gitlab CI

Но когда запускается это задание gitlab, субмодули не загружаются в папку заданий.

Я должен убедиться, что в моем проекте подмодуля есть файлы "ThisFileIsFromCASModbusStack.txt "и зарегистрирован в мастере.

Я безуспешно пробовал несколько вариантов GIT_SUBMODULE_STRATEGY и GIT_CHECKOUT, GIT_STRATEGY.

Что мне не хватает?

.gitlab-ci.yml

variables:
  GIT_SUBMODULE_STRATEGY: recursive

stages:
  - Build

Test Build:
  image: python:2.7
  stage: Build
  tags: 
    - docker 
  script:
    - ls 
    - ls cas-modbus-stack

.gitmodules

[submodule "cas-modbus-stack"]
    path = cas-modbus-stack
    url = ../../chipkin/cas-modbus-stack.git

Вывод Gitlab:

Running with gitlab-runner 11.3.1~beta.4.g0aa5179e (0aa5179e)
  on docker-builder-salmon fa2708eb
Using Docker executor with image python:2.7 ...
Pulling docker image python:2.7 ...
Using docker image sha256:3c01ed1c16af3efc2b7e6faa44cfbb2eeb5f241a5ad3b57cf7c14300ed4ebef5 for python:2.7 ...
Running on runner-fa2708eb-project-4206088-concurrent-0 via docker-builder-salmon...
Fetching changes...
HEAD is now at 1e07991 Removed sudo
From https://gitlab.com/chipkin/helloworld-ci
   1e07991..30cdb87  master     -> origin/master
Checking out 30cdb870 as master...
Updating/initializing submodules recursively...
$ ls
README.md
$ ls cas-modbus-stack/
ls: cannot access 'cas-modbus-stack/': No such file or directory
ERROR: Job failed: exit code 1

Я решил свою проблему.

Мне нужно было использовать git, чтобы добавить субмодуль в проект, я не могу просто добавить его вручную, обновив .gitmodules файл.

git submodule add ../../chipkin/cas-modbus-stack.git