[解決済み] .gitlab-ci.ymlにワイルドカードで成果物のサブディレクトリを指定する方法とは?
質問
GitLab CI を使って C# ソリューションを構築しているのですが、ある構築段階から別の構築段階へ構築物を渡そうとしています。
問題は、成果物が単一のディレクトリにあるのではなく、異なるサブディレクトリにあり、それらはすべて同じ名前であるということです。
bin/
または
obj/
.
私の
.gitlab-ci.yml
は以下のようになります。
...
stages:
- build
- test
build:
stage: build
script:
CALL %MSBuild% ...
artifacts:
paths:
- /**/bin/
- /**/obj/
expire_in: 6 hrs
test:
stage: test
dependencies:
- build
...
様々な方法を使ってアーティファクトをキャプチャしてみました、例えば
**/bin/
**/obj/
(無効な構文)、または
.*/bin/
.*/obj/
と同じように、アーティファクトは見つかりませんでした。
/**/bin/
と
/**/obj/
で、以下のようなエラーが発生します。
Uploading artifacts...
WARNING: /**/bin/: no matching files
WARNING: /**/obj/: no matching files
アーティファクトをスキャンするためにサブディレクトリのパターンを指定するにはどうしたらよいでしょうか。あるいは、これはまったく可能なのでしょうか?
単に
artifacts:
untracked: true
は、巨大な未追跡の
packages/
サブディレクトリが巨大になり、アーカイブが大きすぎるため、成果物のアップロードに失敗するためです。
Uploading artifacts...
untracked: found 4513 files
ERROR: Uploading artifacts to coordinator... too large archive id=36 responseStatus=413 Request Entity Too Large token=...
FATAL: Too large
どのように解決するのですか?
この gitlab-ci-multi-runner ビルドランナーは Go を使って構築され、現在は ファイルパス.Glob() で指定されたアーティファクトをスキャンするために ファイル_archiver.go .
Goは、別の質問で説明したように、二重の星のグロブ表現をサポートしていないようです。
ここで
にあるように、Goは二重星型グロブ表現をサポートしていないようです。では
を使用する方法はないようです。
**/bin
を使う方法は今のところありません。
.
しかし、私のプロジェクトはすべてソリューションルートの下の同じレベルに配置されているので、次のようなものを使用することは可能です。
artifacts:
paths:
- "*/bin"
- "*/obj"
なお,引用符(
"
) が必要なようです。
いいえ
のパス区切り文字が必要なようです。
また、より多くのグロビング表現を追加することで、より多くのレベルを明示的に追加することが可能であるべきです(説明されているように ここで ):
paths:
...
- "*/obj"
- "*/*/bin"
- "*/*/obj"
...
GitLabはこの問題を追跡しています。 ここで で、おそらく将来のバージョンで修正されるでしょう。
関連
-
[解決済み] 期待されるブロックエンドのYAMLエラー
-
[解決済み] このコンテキストでは、YAMLマッピング値は許可されていません。
-
[解決済み] YAMLファイルを別のファイルの中にインクルードするには?
-
[解決済み] Kubernetesで1つのyamlファイルに複数のコマンドを設定する方法とは?
-
[解決済み] YAML 複数行の配列
-
[解決済み] YAMLにおける空の辞書のための構文
-
[解決済み] GitLab CI用のマルチラインYAML文字列(.gitlab-ci.yml)
-
[解決済み] Swagger仕様のJSONをHTMLドキュメントに変換する
-
[解決済み] YAMLでコードブロックを再利用する
-
[解決済み] YAML の << (左二重矢印) 構文は何と呼ばれていて、どこで仕様化されていますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 期待されるブロックエンドのYAMLエラー
-
[解決済み] このコンテキストでは、YAMLマッピング値は許可されていません。
-
[解決済み] YAMLファイルを別のファイルの中にインクルードするには?
-
[解決済み] Kubernetesで1つのyamlファイルに複数のコマンドを設定する方法とは?
-
[解決済み] YAML 複数行の配列
-
[解決済み] YAML の標準的な命名規則とは?
-
[解決済み] YAMLにおける空の辞書のための構文
-
[解決済み] Swagger仕様のJSONをHTMLドキュメントに変換する
-
[解決済み] YAMLでコードブロックを再利用する
-
[解決済み] YAML の << (左二重矢印) 構文は何と呼ばれていて、どこで仕様化されていますか?