LoginSignup
24
22

More than 5 years have passed since last update.

Windows server 2012にJenkins環境を構築した際のメモ

Last updated at Posted at 2014-09-02

これは何?

  • Windows Server 2012 R2にJenkinsの環境を構築した際のメモ
  • ビルド/テストしたい環境は、Java(JRE1.8.0u20), Apache Ant(1.9.4), Git(1.9.4.mysgit.1)

作業時間メモ

今までJenkinsを構築したことはないレベルの人間で…

  • windows serverのインストールからJenkinsのインストールなどなど含めて3~4時間?
  • Jenkinsのビルドを複数つなげてごにょごにょしたりしたり遊んだのが8時間
  • 自作Pluginを入れて遊んでみたのが8時間?

合計2日半くらい?

installer と warをダウンロードする際の違いは?

  • installer はサービスとして登録までをしてくれる。デフォルトのファイルパスは、c:\\Program Files(x86)\Jenkins だった。
  • war の場合は、起動は簡単?サービスの登録とかは自分でやらないといけない。同一サーバに複数のJenkinsサーバをお手軽に建てたいときとかは便利かもしれない。

git環境は?

  • git for windowsをinstallerを使ってインストール。
  • インストール途中で、Adjusting your PATH enviromentUse git for the windows console.を選んでおくと、Jenkinsと連携する際にShellにそのままコマンドを打てるので便利。
  • gitのベア環境を作る際には、git init --bare --share=trueで作ることができる。

Jenkinsの設定は?

Jenkinsの管理 -> システムの管理から

  • JDKのパスの設定(JAVA_HOME) ex) C:\Program Files\Java\jdk1.8.0_20
  • Antのパスの設定(ANT_HOME) ex)C:\apache-ant-1.9.4

だけやっておいた。Ant自体のPATH設定は、ANT_HOME及びPATHの設定 を参照した。

JenkinsのPluginは?

  • Git plugin : gitとの連携のため。git.exeのPathを登録する必要があるっぽい?環境変数Pathにgit.exeの場所を教えているけどダメみたい。Jenkinsの管理 -> システムの管理 -> Gitの項目 -> Path to Git executableC:\Program Files (x86)\Git\cmd\git.exeを追加でOK
  • Build Pipeline plugin : ビルドの前後関係を可視化してくれるプラグイン。複雑になってきたときに便利かな?
  • Copy Artifact Plugin : ビルド結果の成果物を他のJobに転送できるプラグイン。ビルド(Job:A) -> ビルド成果物を他のリポジトリへpush(Job:B)みたいなことをするときに便利。
  • Power Shell plugin : せっかくWindows Serverなのでcmd.exeじゃなくて、Power Shellを使おう。ちなみに、環境によって環境変数の呼び出し方が違うので注意。
PowerShell : $env:paramName
Windowsバッチ : %paramName%
シェル : $paramName

(参考):http://hookturn.tumblr.com/post/75901385482

Jobの設定関連

  • ビルドの設定時に ビルド手順の追加 で、windows環境では、windowsバッチコマンドの実行を選ぶ。シェルの実行はUNIXのシェルコマンドを叩きに行くのでエラーになる。
  • Gitの設定時、リポジトリのパスをファイルパスを指定する時は、file:///で始める。
  • (上の続き)ネットワークドライブを割り当てるパターンfile:///Z:\hogehogeは読み込んでくれないが、サーバを直接指定するパターン file:///\\HOGER-Server\\hoge\\hoge.gitはいける。
  • 日本語のJob名を入力しようとすると、Jenkinsが固まる。IEの問題の気もする。一旦置き。

Plugin を自作する場合

  • pluginの開発環境構築は、公式ドキュメント 通りで特にハマりポイントは無い(2014/09/01現在)
  • Jenkinsのバージョンが1.577の場合にテストがjava.io.IOException: Failed to clean up temp dirsで落ちるよう。Windowsの環境依存な気もするけども、いったん見なかったことにしたい。ほんとによくないけどテストなしで実行できるようにする。参考:Jenkins Plugin Build Error
pom.xml
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>InjectedTest.java</exclude>
                </excludes>
            </configuration>
        </plugin>
    </plugins>
</build>
  • pom.xmlでpluginで対象とするJenkinsのバージョンを指定する。本番環境と合わせるのが吉と思われる。
pom.xml
(略)
<parent>
    <groupId>org.jenkins-ci.plugins</groupId>
    <artifactId>plugin</artifactId>
    <version>1.577</version> <!--!!!ココ!!! -->
</parent>
(略)
24
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
22