私は長年 Jenkins を使ってきましたが、新しい職場で自分でセットアップしたことはありません。いくつかの質問と問題に遭遇しました。
デフォルトのワークスペースの場所- 最新の Jenkins では、デフォルトのワークスペースが Jenkins\jobs[projectName]\workspace にあり、ビルドごとに上書きされる (または選択した場合は消去される) ようです。将来の参照用にビルドごとにワークスペースの状態を保存できるように、代わりに Jenkins\jobs[projectName]\builds[build_id]\ に置くべきだと考えました。
プロジェクト>Build_IDページでワークスペースを表示する- これは前のビルドの各「ワークスペース」がここに表示されることを期待していたため、前のものと一致しています。現在、私の設定では、この個別のページには、Git リビジョンと、ビルドをトリガーしたリポジトリの変更以外は何も表示されません。コンソール出力も同様です。成果物はどこにありますか? 使用されたこのビルドのワークスペースへのリンクはどこにありますか?
ビルド内のアーティファクトのアーカイブ- アーティファクトを選択するときに、フィルターが機能しないようです。私のビルドでは、ワークスペース内にアーティファクトを含むファイル構造を作成します。これを保存したいのですが、アーティファクト フィルターではワークスペースから始まると表示されます。そのため、「artifacts」と入力しましたが、何も保存されません (また、どこに保存されるのでしょうか?)。「/artifacts」と「artifacts/*」も試しました。
どんな助けでも大歓迎です! ありがとう!
ベストアンサー1
Jenkins のいくつかの側面について混乱しているようです。あなたの質問は基本的に次のようになると思います。
ワークスペースとビルドの違いは何ですか?
そこで、このトピックに関するいくつかの考えを述べます。
- ビルドは履歴データです。ビルド/チェックアウト中にワークスペースのように変更されることは通常ありません。
- ビルドには、実行に関する情報 (ステータス、ビルド番号、変更ログなど) と、アーカイブするように指示した成果物 (ログ、テスト結果など) が含まれます。通常、ワークスペースのようなソース コードは含まれません。
- ビルドはディレクトリに保存されます
Jenkins\jobs\[projectName]\builds\[build_id]\
。これは Jenkins によって管理されるディレクトリであり、通常はこのディレクトリ内の何も変更する必要はありません。ただし、ワークスペースはビルド用のディレクトリであり、これを使用してほぼ何でも実行でき、どこにでも配置できます (デフォルトのJenkins\jobs\[projectName]\workspace
ディレクトリに配置する必要はありません)。 - ワークスペースはいつでも消去できる必要があります。復元するには、同じパラメータ/リビジョンでジョブを再構築するだけです。ビルド後に何かを保持する必要がある場合は、ビルドが完了する前に Jenkins にアーカイブするように指示します。
- 状態全体を保存することに関しては、そうする必要はないと思います。#4 で述べたように、問題のビルドと同じリビジョン/パラメータを開始することで、同じビルドを再現できるはずです。同じリビジョン/パラメータから元の状態に戻れない場合は、デバッグが悪夢になるため、努力する必要があるかもしれません。:)
- ワークスペースはプロジェクトの側面であり、ビルドではありません。そのため、そのページからワークスペースへのリンクはありません。繰り返しますが、ビルドは以前の実行から保存されたデータにすぎません。プロジェクトはワークスペースを使用してビルドを行うため、そのページからワークスペースにアクセスできます。
- アーティファクトを保存する方法に関しては、保存するファイルの名前を指定する必要があります。「アーティファクト」というファイルを保存しようとしているのでなければ、おそらく別の名前を使用する必要があります。
**/*.log
すべてのログ ファイルの場合はどうでしょうか。または、**/*.xml
すべての XML ファイルの場合はどうでしょうか。
お役に立てれば。