私のjenkinsジョブは、ワークスペース内に「mydir」などの一時的なサブフォルダーを作成します。このサブフォルダーは、ビルド後の手順「アーティファクトのアーカイブ」を使用してアーカイブします。
次のコマンドを使用しています。
mydir/**/*
それはうまく機能しますしかしアーカイブにはアーティファクトのルートとして常にmydirが含まれますが、私はこのフォルダのコンテンツのみを持ちたいと思います。
これを行う方法?
この場合、私が行ったことは、関心のあるディレクトリの圧縮ファイル(tarまたはZip)を作成し、代わりにディレクトリ全体をアーティファクトすることです。スレーブがLinuxで実行されている場合は、次のように実行できます。
tar -czvf name-of-archive.tar.gz /path/of/build/directory
次に、アーティファクト名-of-archive.tar.gz
dir()
を使用して、目的のディレクトリ内からアーティファクトをアーカイブできます。
stage('Archive') {
steps {
dir('mydir') {
archiveArtifacts artifacts: '**'
}
}
}
https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#dir-change-current-directory