web-dev-qa-db-ja.com

GitLabはCI内のサブモジュールをプルします

GitLab CIを利用するGitLabプロジェクトがあります。プロジェクトはサブモジュールも使用します。プロジェクトとそのサブモジュールの両方が同じGitLabアカウントの下にあります。

これが私の.gitmodulesファイル

[submodule "proto_contracts"]
    path = proto_contracts
    url = https://gitlab.com/areller/proto_contracts.git

.gitlab-ci.ymlファイルにもこの部分があります

variables:
  GIT_SUBMODULE_STRATEGY: recursive

ただし、CIを実行すると、このエラーが発生します

fatal: could not read Username for 'https://gitlab.com': No such device or address

プロジェクトとサブモジュールの両方がプライベートリポジトリにあるため、認証を求められるはずですが、前述のように、プロジェクトとサブモジュールは同じアカウントの下にあり、ランナーの仕事の1つは元のリポジトリのクローンを作成することです

enter image description here

それでサブモジュールに到達できないのは奇妙ですそれを回避する方法はありますか?

7
areller

サブモジュールには相対URLを使用する必要があります。 .gitmodules次のように:

    [submodule "proto_contracts"]
        path = proto_contracts
        url = ../../areller/proto_contracts.git

参考資料: GitLab CIでのGitサブモジュールの使用| GitLab Docs

8
ilia