Jenkins - ネットワークドライブにアクセスする
Jenkinsでネットワークドライブにアクセスする際には一定のお作法が必要なようですので、メモ代わりに残しておきます。
Jenkinsをwarファイルから起動している際にはログインしているユーザーの権限が付与されているので問題なく動作するようですが、サービスとして動かしているとネットワークドライブにアクセス出来ない場合があります。
これはサービス用の権限でJenkinsが起動されていることが原因のようです。
まず、MicrosoftのページよりSysinternals suiteというツールをダウンロードします。
Sysinternals Suite - Windows Sysinternals | Microsoft Docs
コマンドプロンプトを管理者権限で起動し、下記のように順番に実行することでネットワークドライブをJenkinsが使用できるようになります。
(下記例ではSysinternals suiteを"c:\sysinternals_suite"へインストールしています)
cd c:\sysinternals_suite
psexec -i -s cmd.exe
net use Z: \\hogehoge\hoge password /u:username /persistent:yes
ただ、PCを再起動させてしまうと再設定が必要になってしまうので、ジョブを作るか、バッチをスタートアップ時に実行して上げる必要があります。
もしバッチファイル化するのであれば、下記のようになりそうです。
cd c:\sysinternals_suite
psexec -i -s cmd.exe /C "net use Z: \\hogehoge\hoge password /u:username /persistent:yes"
参考ページ