После двух дней исследований и попыток найти решение и учитывая, что, возможно, использование диспетчера пакетов могло бы быть лучшим решением, я закончил с этим .gitlab-ci.yml
изменением, которое я применил к своему репо подмодуля:
android:
stage: deploy
script:
- cd ~
- mkdir .ssh
- echo SSH_KEY_TO_ACCESS_GIT > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- eval `ssh-agent -s`
- ssh-add ~/.ssh/id_rsa
- ssh-keyscan -t rsa YOUR.GIT.com > ~/.ssh/known_hosts
- git config --global user.email "ci@yourhost.com"
- git config --global user.name "CI"
- git clone --single-branch -b develop git@git.YOUR_REPO.git
- cd YOUR_REPO_FOLDER
- git submodule init
- git submodule update
- cd YOUR_SUBMODULE_FOLDER
- git fetch --all
- git reset --hard origin/master
- cd ..
- git add .
- git commit -m "Update YOUR SUBMODULE automatically to latest"
- git push origin develop
only:
- master
Эта задача вытащит мое хранилище в конце задач CI, обновит субмодуль и вставит коммит в репо.
Помните, что вам необходимо добавить ключ ssh в свою учетную записьчтобы позволить CI протолкнуть ваше репо.
Я по-прежнему открыт для любых предложений, которые более удобны.