![見出し画像](https://assets.st-note.com/production/uploads/images/64842064/rectangle_large_type_2_81f3b1ddff20b86c0a6c1a9a3e7d7d4c.png?width=1200)
【Jenkins】Linux環境からWindows環境へ移行するTips
こんにちは、ベーシストエンジニアのフクナガです。
今回は、Linux環境に構築したJenkinsで作成したジョブをWindows環境で構築したJenkinsに移行するときのTipsをいくつか紹介します。
Jenkinsの利用経験がある方・CICD構築経験のある方向けの記事になります。
そもそも何でそんなことするの?
システム会社では、本番環境(お客さんに提供する環境)のみシステムへの接続を物理的に制限する運用をする場合があります。開発環境のCICDは社内のネットワークから接続可能なサーバにコンテナ(Linux環境)を立てて、そこでJenkinsを構築しているが本番環境では保守用の端末(Windows環境)を用意し、そこに追加でジョブを作成しないといけなかったりします。
端末に構築すると故障したとき...などの効率については別記事で書ければと思いますが、一旦はやらなければいけないこととし、話を進めます!
困ること
Linux環境ではシェル(/bin/bash的な)が使えるが、Windows環境では別でツール(Powershell)などを導入しないと使えません。導入すれば万事解決なのですが、社内規則で好き勝手にツールをインストールできないと言う縛りもあります。インストールできる方は「Windowsでシェルを使えるようにしましょう」で解決なのですが、それ以外の方に向けて対応を書いていきます。
また、Linuxで使えるコマンドがWindowsで使えない(使えるようにする方法もありますが...)ことも困ることの一つです。インフラエンジニアをしていてWindowsサーバをコマンドラインで扱うことはほとんどないのでそのためにコマンドを調べないといけません。
毎回調べるのに疲れたので自分の備忘のためにもコマンドを書き残しておこうと思います。(若手エンジニアには需要があるはず!)
ビルド方法
Linuxの場合ビルド手順の追加で「シェルの実行」を選択すると思いますが、Windowsの場合は「Windowsバッチコマンドの実行」を選択しましょう。
また、シェルの実行を利用している場合ファイルの先頭に「/bin/bash」を記載することがあります。こちらも忘れずに削除しておきましょう。
コマンドの違い
Linuxで動くジョブなので、シェルの中ではLinuxでしか使えないコマンドが大量に入っていると思います。対応するコマンドを覚えておけば、テキストエディタなどで一括置換するなど、修正コストを抑えられると思います。
上記は一部ですが、直近で自分が調べたものを記載しました。Jenkinsは環境変数を利用する場合が多いと思いますので、エラーが発生する場合は環境変数のあたりを忘れずにチェックしましょう。
最後に
Tipsと言えるほど大げさな情報ではありませんでしたが、LinuxからWindowsへの移行ってけっこうストレスが溜まると思います。自分が使えると思ったコマンドがWindowsでは使えないパターンがあるので、利用したいコマンドが網羅できているサイトや検索ワードを手癖として持っておくと良いですね。
今回はジョブの移行というテーマでnoteを書きましたが、どこかのタイミングでJenkinsのおすすめ運用についても記載できればと思います。
閲覧いただきありがとうございました。
この記事が気に入ったらサポートをしてみませんか?