いまさらながらJenkinsです。
みなさんJenkinsでCIでCDでAgileなDevOpsしてますよね。
しかし自分は
- .Net/C#プロジェクトが多い。
- 一人プロジェクトが多い。
- なんか利点がいまいちわからん。
ってことで使ってきませんでした。
やってみないと良さがわからんのかも?ってことで、いまさらながら環境だけでも作ってみます。
環境は
Ubuntu 16.04 on Vagrant (masterにします)
Windows 7 ( slave にします)
です。
.NetプロジェクトをCIしてみたいのでLinuxをmaster、windowsをslaveとした構成を作ります。
Linux(master)
ちょい前に作ったALMinium(Redmine)環境に追加します。
Jenkins
see https://pkg.jenkins.io/debian/
see https://github.com/ayapapa/alminium/blob/master/jenkins/setup/debian/install.sh
|
|
これで http://linuxserver:8080/jenkins でJenkinsが見れるはず。
Apache reverse proxy
8080はかっこ悪いのでreverse proxyを設定します。
|
|
これで http://linuxserver/jenkins でもJenkinsが見れるはず。
Jenkinsの管理>システム設定>Jenkinsの位置>Jenkins URL を http://linuxserver/jenkins/ にする。
Plugin
see windows Slave
Windows Slaves
Enable JNLP
Jenkinsの管理>グローバルセキュリティの設定>Agents>TCP port for JNLP agents> 固定:50100
ノード作成
Jenkinsの管理>ノードの管理>新規ノード作成>
ノード名 : windows7
リモートFSルート: c:\var\jenkins
ラベル: windows
用途: このマシーンを特定ジョブ専用にする
起動方法:Launch agent via Java Web Start
ジョブ作成
「実行するノードを制限」をチェック、ラベル式に”windows7″
他はジョブ毎に調整。
Windows(Slave)
エージェントのインストール
ブラウザでJenkinsにアクセスして、
Jenkinsの管理>ノードの管理>windows7
download slave-agent.jnlp (right click “Launch” Icon and download)
open command prompt as Admin
|
|
小さいウインドウが出るので、file> install as a service を選択。
サービスとして登録されます。
で
とりあえず環境はできました。
試しに単純なコマンドラインツールをビルドするジョブを作ってみましたが、そんなに難しくは無いようです。
ネット上の情報はほとんどlinuxを前提としているので、masterはlinuxに入れといたほうが無難だと思います。
master/slave構成ってのができるって事と、slaveにはJenkinsインストール不要ってことを知らないと、
いきなりWindowsにjenkinsをインストールしたりしますよね~。
もしかしたら ASP.NET MVCなアプリのCI/CDに挑戦するかも。