gitlabリポジトリにファイルへのシンボリックリンクを追加するにはどうすればよいですか?gitlabリポジトリにsymlinkファイルを追加する方法
gitlabからパイプラインを実行するたびに、ローカルのシンボリックリンクが破棄されます。
gitlabリポジトリ内にあるフォルダのシンボリックリンクを作成する方法については、どのような提案もあります。
gitlabリポジトリにファイルへのシンボリックリンクを追加するにはどうすればよいですか?gitlabリポジトリにsymlinkファイルを追加する方法
gitlabからパイプラインを実行するたびに、ローカルのシンボリックリンクが破棄されます。
gitlabリポジトリ内にあるフォルダのシンボリックリンクを作成する方法については、どのような提案もあります。
。インデックスに追加してGitのオブジェクトストアへのシンボリックリンクの内容を追加し、今
$ git ls-files -s ./symlink
$
:gitのLS-ファイルは、あなたのインデックスを(-sプリントスタットのような出力)を検査することができます。インデックスにファイルを追加すると、Gitはその内容をGitオブジェクトストアに保存します。
$ git add ./symlink
何が追加されましたか?
$ git ls-files -s ./symlink
120000 1596f9db1b9610f238b78dd168ae33faa2dec15c 0 symlink
$
ハッシュは、Gitオブジェクトストアで作成されたパックされたオブジェクトへの参照です。 .git/objects/15/96f9db1b9610f238b78dd168ae33faa2dec15cを見ると、このオブジェクトを調べることができます。
120000は、ファイルモードです。通常のファイルでは100644のようになり、リンクには特別なモードです。
core.symlinks偽、シンボリックリンクがリンクテキストが含まれているような小さなプレーンファイルをチェックアウトしている場合
:男性のgit-config設定から。 git-update-index(1)とgit-add(1)は、記録されたタイプを通常のファイルに変更しません。内容はかなり-印刷する Use git cat-file -p
:
$ git cat-file -p 1596f9db1
/Path/referenced/by/symlink
そうで、それはGitはシンボリックリンクに何をするかです:あなたはシンボリックリンクをチェックアウトgitのとき、あなたは完全なファイルシステムのパスを参照して、テキストファイルを取得するのいずれか、またはシンボリックリンクを使用します。 シンボリックリンクによって参照されるデータはリポジトリに保存されません。
Gitリポジトリにsymlink (special entry 12000)を保存できますが、this testに示すように、GitLab pipelineが失敗します。
gitlab-ce issue 27542を参照してください(ただし、.gitlab-ci.yml
の場合はシンボリックリンクです)。
パイプラインが最初にシンボリックリンクを再作成し、その後の手順で通常のビルドを処理するのが最善の方法です。 Gitのは、まだこのファイルについて知らない
$ ln -s /Path/referenced/by/symlink symlink
:最初に、シンボリックリンクを作成し、見つけるために