ローカルで Jenkins を動かす目的
組織のポリシーで CI サービスを使わせてもらえず、サーバーも立てさせてもらえないときの最終手段です。
次の順序ですすめます:
- ローカル PC で Jenkins を動かし、デプロイを Jenkins で自動化します
- 社内 LAN 経由で HTTP アクセスできるよう Jenkins を公開し、周りにデプロイジョブを使わせてあげます
- テストを自動化し、実行を Jenkins に任せます
- 静的解析など、レポートのためのジョブを中心に追加して周りに Jenkins のレポートを公開します
これをやると、大体どんな組織でも徐々にワークフローが Jenkins に依存するようになり、
「CI・CD をちゃんとやろう」という流れになります。
ローカルで Jenkins のサービスを起動する方法
Docker が使える場合
次の docker-compose.yml
を用意します:
---
version: "3.8"
services:
image: jenkins/jenkins:lts
volumes:
- jenkins_home:/var/jenkins_home
ports:
- 8080:8080
- 50000:50000
これは公式の docker コマンドを Docker Compose に置き換えたものです。
Jenkins の公式イメージはこちらになります:
jenkins/jenkins - Docker Hub
Docker Hub 公式は、Jenkins 公式のイメージに移行したため、更新終了し、非推奨となりました。
jenkins - Docker Hub
動作の詳細は GitHub の README.md を参照します:
jenkinsci/docker: Docker official jenkins repo
Docker が使えない場合
以下は Windows の場合の説明を行います。
Windows にJenkins をインストールすると、IIS
のサービスとして起動することになります。
Chocolatey が使える場合
choco install -y jenkins
参考: Chocolatey の使い方 | ultra code
Chocolatey が使えない場合
この場合も、インストールに特に面倒なことはありません。
インストーラーをダウンロードして実行するだけでインストールできます。
Jenkins download and deployment
Jenkins のサービスの port を変更する方法
Web サービスなどを開発していると、
テストのために起動する開発中のサービスの port と競合してしまう可能性があります。
Docker の場合は port のマッピングを簡単に変えられるので問題ありませんが、
ここでは Docker を使わない場合、Jenkins のサービスの port を変更する手順を説明します。
手順
次のファイルを、管理者権限で起動した Visual Studio Code で開きます:
C:\Program Files(x86)\jenkins\jenkins.xml
ファイルを 8080
で検索し、58080
に書き換えます。
(0
-49151
まではだいたい使用するアプリが決まっているため。)
参考: TCPやUDPにおけるポート番号の一覧 - Wikipedia
Jenkins の設定を YAML で管理する方法
そのうち、Jenkins のサーバーを立てることになったとき、
ローカルから設定などを移し替えるのを楽にするために、
Jenkins の設定は YAML で管理するようにしておくことをおすすめします。
手順
Jenkinsの管理
-> プラグインの管理
-> 利用可能
タブ をクリックします
Configuration as Code
と Configuration as Code Support
にチェックを入れます
ダウンロードして再起動後にインストール
ボタンをクリックします
Jenkinsの管理
→ Configuration as Code
をクリックします
Path or URL
に以下を入力して Apply new configuration
ボタンをクリックします
~/workspace/jenkins-yaml/jenkins.yaml