TeamCity は、プライベート git サブモジュールを含む git プロジェクトをチェックアウトできません (プロジェクト自体はプライベートであり、ユーザー名/パスワードでアクセスされ、サブモジュールに同じ資格情報を使用します)。すべてのソースは bitbucket に保存され、HTTPS 経由でアクセスされます。TeamCity は、同じ VCS ルートを使用して、サブモジュールなしで他のプロジェクトをチェックアウトすることができます (そのため、資格情報/プロキシの問題は問題ではありません)。
返されるエラーは次のとおりです。
Failed to build patch for build #19 {build id=209, buildTypeId=CI_BC_123},
VCS root: "BitBucket VCS" {instance id=192, parent internal id=11, parent id=BITBUCKET_VCS, description: "https://bitbucket.org/team123/main-repo.git#"}, due to error: 'build patch' command failed.
stderr: Cannot fetch the 'https://username123@bitbucket.org/team123/sharedAsssetsRepo.git//username123@bitbucket.org/team123/sharedAsssetsRepo.git' repository used as a submodule at the 'repo/SharedAssets' path in the 'https://bitbucket.org/team123/main-repo.git' repository in the ba90b0c96170b1abf5af2322069662c7b541d908 commit
およびサブモジュールは次のとおりです
[submodule "repo/SharedAssets"]
path =repo/SharedAssets
url = ../sharedAsssetsRepo.git
[submodule "repoB"]
path = resouceB
url = ../resourceB.git
サーバー側のチェックアウトを使用する Windows Server 2012 上の TC v 9.0.4 (ビルド 32407) (エージェントは同じサーバーに常駐)
私が試したこと:
git clone --recursive
powershell からリポジトリとサブモジュールが正しくプルダウンされることを確認しました- サブモジュールのパスを相対パスから絶対パスに変換する
- git グローバル プロキシ設定を設定する
エージェント側のチェックアウトをまったく使用できません (エージェントは mysysgit がインストールされた同じボックスにあります) fatal: unable to access ' <<repo>> ': Failed to connect to bitbucket.org port 443: Timed out
。これは、PowerShell から git を実行できるようにサーバー クライアントが接続できるため、奇妙です (teamcity の git パスは Windows の git PATH と同じに設定されます)。 )。