なんとかするから、なんとかなる

エンジニア関係のことを書きます

Jenkinsを使ってiOSの自動ビルドおよびテストをする(Jenkins準備編)

はじめに

Jenkinsを使ってiOSの自動ビルドとテスト環境を作っていきたいと思います。

はじめはLocalのGitRepogitoryに対して自動ビルドを実行する。

そのあとipa生成とテスト。

最後に結果をslackへ通知を試してみたいと思います。

環境

Jenkinsの準備

Jenkinsのインストー

Jenkins のインストールはHomebrewを使ってインストー

$ brew install jenkins

まだHomebrewを持っていないという場合は以下のHPをみてインストー

Homebrew — macOS 用パッケージマネージャー

Jenkinsを起動

以下のコマンドでJenkinsを起動します。

$ jenkins

起動したらsafariで下記にアクセスすることでJenkinsの起動を確認できる。

http://localhost:8080/

Jenkinsの起動がうまくいかないとき

Jenkinsを起動しようとしたら、下記のようなエラーが発生してすぐには起動できませんでした。

下記の2つの対策を実行して無事起動することができました。

Main deleteWinstoneTempContents
WARNING: Failed to delete the temporary Winstone file /var/folders/l6/_hlf7bj12wg0q79ntn8v1vf00000gp/T/winstone/jenkins.war
Jenkins requires Java7 or later, but you are running 1.7.0_71-b14 from /Library/[f:id:hopita:20170528122726p:plain]Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre
java.lang.UnsupportedClassVersionError: winstone/Launcher : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at Main._main(Main.java:224)
at Main.main(Main.java:112)

Java Runtime Enviroment (JRE) を更新する

ここで、Javaのversionが古いと起動できませんでした。

更新方法はMacのSystemPreferencesからJavaのアイコンをクリックして[Update Now]です。

Java Developer Kit (JDK)をインストールする

あとJDKをインストールする必要がありました。JDKは以下からインストールできます。

Java SE Development Kit 8 - Downloads

Jenkinsのセットアップ

Unlock Jenkins

初めてJenkinsを起動すると下記のような画面現れます。

f:id:hopita:20170528122726p:plain

画面に書いてあるPathを実行してPasswordを取得する必要があります。 ただし、そのまま実行すると"Permission Dennied" だったり、sudoで実行しても"Command not found"で実行できません。

コマンドラインから下記でPasswordを見ることができます。そう実行ファイルじゃないんですね。勘違いしました。

$ cat (Path)

Customize Jenkins

f:id:hopita:20170528123251p:plain

次に、初めにインストールするPluginを設定します。

まずは[Install Suggested plugins]でおすすめセットにしました。

Create First Admin User

f:id:hopita:20170528123521p:plain

次に初めのユーザを作成します。

余談ですが、ここでE-mail addressをさぼって入力せずに[Save and Finish]したら、ボタンがDisableになって進まなくなりました。 更新したらまたこのページなります。ちゃんと入力しましょう。

Jenkins起動

ついにJekinsを起動できました! f:id:hopita:20170528123738p:plain

参考URL

以下のサイトを参考にさせてもらいました

続き

Jenkinsを使ってiOSの自動ビルドおよびテストをする(Jenkinsビルド編) - なんとかするから、なんとかなる

改訂新版Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)

改訂新版Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)