## 事象 `target`配下が以下のようになっている。 ```  target ├──  a.txt └──  b └──  c.txt ``` `artifacts`として`target`一式が欲しいが、それが取得できない。 ## 原因 いくつかのパターンがある。 ### ディレクトリを指定している 以下のような設定の場合。 ```yaml artifacts: - target ``` `artifacts`の指定はディレクトリではなく、ファイルの[[glob]]パターンを設定する必要がある。 ### globパターンがネストを考慮できていない 以下のような設定の場合。 ```yaml artifacts: - target/* ``` `target/a.txt`はartifactsに含まれるが、`target/b/c.txt`がartifactsに含まれない。 ```yaml artifacts: - target/**/* ``` 上記の場合だと`target/b/c.txt`は含まれるが、`target/a.txt`が含まれなくなる。 ### カレントディレクトリからのパスになっていない 以下のような設定の場合。 ```yaml artifacts: - target/** ``` ジョブの最後では`target`がカレントディレクトリだが、最初は親のディレクトリだった場合など。 ```  sand <-- ここから開始 └──  target <-- 途中で cd target して移動してた ├──  a.txt └──  b └──  c.txt ``` ## 対策 ### ディレクトリを指定している場合 以下のように指定する。 ```yaml artifacts: - target/** ``` ### globパターンがネストを考慮できていない場合 以下のように指定する。 ```yaml artifacts: - target/** ``` ### カレントディレクトリからのパスになっていない場合 以下のように指定する。 ```yaml artifacts: - sand/target/** ```