タグ

XcodeとJenkinsに関するs_ryuukiのブックマーク (16)

  • iOS ビルド環境を Jenkins と Docker と Ansible でコード化する(実際のコード付き)

    こんにちは。アプリケーション共同開発部の門多です。 昨年の終わり頃に、 Mac mini 増殖中!iOS アプリのビルドをマスター・スレーブ化して時間を短縮するという pixiv さんの記事がありましたが、フェンリルの共同開発事業アプリ開発でも、2012 年ごろから Jenkins を使ったビルドを行っています。 なるべく多くの人に使ってもらえるように、基的に制限しない運用を行なっていました。しかし数年経ってみると、OS やビルド環境の変化もありましたし、現在の構成が色々と問題を起こしていることもわかってきました。現在ビルド環境の改善を行っているので、ついでに Keychain 管理の自動化や Xcode 自動インストールなど、これまで経験した色々な問題とその対応方法をまとめました。かなり長い記事になってしまいましたが、実際に使っているプログラムをそのまま掲載していますので、そのうち一部

    iOS ビルド環境を Jenkins と Docker と Ansible でコード化する(実際のコード付き)
  • UnityのiOSアプリをアーカイブまでJenkinsで自動化した話 - Qiita

    最近Resharperを使いたいが為に開発環境をMacからWindowsに変えた結果iOSのビルドが非常に面倒になった。なのでJenkinsを導入してWindows側でビルドからアーカイブまでほぼ全て自動化出来るように環境を整えてみた。 流れとしては WindowsでGit Push Mac側でGit Pull Unityビルド(このときにちょっとXcodeのplistとか書き換える) Xcodeアーカイブ Git commit + push Jenkinsの導入 調べてください★ Jenkinsにジョブの登録 今回はプラグインを使わず素の状態でジョブを作成します。 まずGitから最新の状態のプロジェクトを読み込み

    UnityのiOSアプリをアーカイブまでJenkinsで自動化した話 - Qiita
  • Mac mini増殖中!iOSアプリのビルドをマスター・スレーブ化して時間を短縮する - pixiv inside [archive]

    チームでiOSアプリの開発をしていると、ビルドのコストが肥大化しがちです。ピクシブでは、ビルドとテストをMac mini上に構築したJenkinsで行っているのですが、ビルドキューが詰まり、開発速度が上がりにくくなっていました。 これを改善するため、最近、iOSチームのビルドサーバーを、Mac mini 1台から3台に増やし、マスター・スレーブ環境でビルドできるようにしました。今回、そのための設定について、エンジニアの @anchan から紹介します! ビルドサーバーの環境設定は、GitHubに公開しています! モチベーション Xcodeは1台のマシンでビルドを並列化できません。チームメンバーとアプリの数が増えるにつれ、それに比例してJenkinsのビルドキューが詰まるようになりました。 Mac mini 1台では厳しくなってきたので、Mac mini 3台でJenkinsのマスター・スレ

    Mac mini増殖中!iOSアプリのビルドをマスター・スレーブ化して時間を短縮する - pixiv inside [archive]
  • MacのJenkinsでiOSアプリをビルドするときにKeychain周りで失敗する時の対処 - Qiita

    想定するケース GUIのない環境下でiOSアプリをコマンドラインでビルドするケースを想定しています。例えばJenkinsとか。 キーチェーンに証明書の鍵をimportしたのに動かない!というケースへの対応です。 xcodebuildでビルドしているときに /usr/bin/codesign --force --sign <キーチェーンのUUID> --resource-rules= …中略… User interaction is not allowed. The following build commands failed: CodeSign <アプリ名> というエラーが出るときの対応です。 原因 キーチェーンに含まれている秘密鍵を利用しようとするとキーチェーンがポップアップを表示して秘密鍵を利用してもいいかを尋ねます。 GUI環境のある場合は、 codesignはキーチェーンに含まれ

    MacのJenkinsでiOSアプリをビルドするときにKeychain周りで失敗する時の対処 - Qiita
  • TestFlightとJenkinsを組み合わせたアプリの配布 - O'Reilly Japan Community Blog

    前回はビルド設定とスキーマにより番環境とテスト環境を数クリックで切り替えられる仕組みを説明しました。 今回はTestFlightによるアプリ配布と、Jenkinsを組み合わせてアプリ開発者以外でもアプリ配布ができるようになる仕組みの構築について説明します。 はじめに 背景と問題点 私がRetty仕事を始めたとき、アプリを配布する仕組みは特になく、アプリの評価が必要になるたびに実機を借りてインストールを行い、評価をしていました。その後、会社のメンバーやインターンの数が増えてくるにしたがって、以下のような問題が出てきました。 評価を行うメンバーの全端末にそれぞれインストールするのが煩雑になってきた 開発者の数は増えたがiOS開発者は増えなかったため、インストール依頼の負荷がiOS開発者にかかるようになった 開発者の増加にともない開発環境が増え、ビルド設定とスキーマでカバーしきれなくなってい

    TestFlightとJenkinsを組み合わせたアプリの配布 - O'Reilly Japan Community Blog
  • JenkinsでXcodeビルドでCode Sign errorを解決したときの覚え書き - Qiita

    前置き iOSアプリのビルドとAppStore審査向けバイナリ作成にJenkinsを使ってビルドしています。 前任者からの引き継ぎで、証明書ファイルの差し替えやら、provisionalファイルの差し替えなど したときに、Code Sign errorのビルドエラーが連発してそれらを解消したときの覚え書き エラーその1 [src] $ /usr/bin/security unlock-keychain -p ******** /Users/********/Library/Keychains/login.keychain security: SecKeychainUnlock /Users/*********/Library/Keychains/login.keychain: The user name or passphrase you entered is not correct. F

    JenkinsでXcodeビルドでCode Sign errorを解決したときの覚え書き - Qiita
  • [iOS] Mac OS X に Jenkins 環境を構築して CocoaPods なプロジェクトをビルドする | DevelopersIO

    Jenkins で CocoaPods なプロジェクトをビルド 昨今では iOS アプリ開発でライブラリを扱う場合、CocoaPods を使うというのが定石になっていると思います。 Jenkins でビルドする話はこちらでも解説していますが、Xcode 5 になったのと Xcode Integration Plugin のバージョンアップもあり、手順が少し変わってきているようです。 ということで Mac OS X に Jenkins をインストールして、CocoaPods を使っている iOS アプリプロジェクトをビルドするまでの流れを改めてちょっとまとめてみました。 Jenkins のインストール まずは Jenkins のインストールです。ここでは Homebrew を使ってインストールします。Homebrew や Git などのインストールについては次の記事を参考にしてください。 H

    [iOS] Mac OS X に Jenkins 環境を構築して CocoaPods なプロジェクトをビルドする | DevelopersIO
  • 趣味でつくるiOSアプリこそJenkinsでリリースを自動化 - Qiita

    TestFlightへのアップロード部分の内容はAppleに買収されiTunes Connectに統合される前のTestFlightについての情報です、testflightapp.comは2015/2/26に終了です コードを書き終わったがもう会社に行かなければならない、テストのために手持ちのデバイスにインストールしておきたい・・・。趣味でつくっているアプリこそ自動化して開発の時間を捻出すべきなのでは?そんなことを思っていたらMarvericksが無料でリリースされたので押入れで眠っていたMacBook AirにMarvericksとJenkinsを入れてリリース作業を自動化してみました。 前提として Jenkinsのセットアップは割愛しています。かわりに別の記事をあげているので参考にしてください。 OS XにJenkinsをHomebrewでセットアップする Xcode5, Jenkin

    趣味でつくるiOSアプリこそJenkinsでリリースを自動化 - Qiita
  • Xcode5でカバレッジをJenkinsに表示する - Qiita

    はじめに Xcode5になってからか、iOS7になってからかは不明ですが .gcdaファイルが出力されなくなったので、カバレッジが出せなくなりました。 ネット上で色々調べたのですが、なかなか上手く行かず試行錯誤したので、自分の環境でやったことをまとめておきます。 環境 Xcode5 iOS7 Xcode側でやったこと 1.Build Settings から次の設定をする。 ・Generate Test Coverage Files を YES にする。 ・Instrument Program Flow を YES にする。 2.以下のコードを追加 ・AppDelegate に追加 #ifdef DEBUG + (void)initialize { [[NSUserDefaults standardUserDefaults] setValue:@"XCTestLog,GcovTestObse

    Xcode5でカバレッジをJenkinsに表示する - Qiita
  • BotsでCI環境を作る1 – Xcode 5での操作 | DevelopersIO

    はじめに Xcode 5 から Bots という名前で CI (Continuous Integration) 機能が追加されました。CIといえば今まで Jenkins など Apple 以外のツールを使っていたケースも多いと思いますが、Apple 純正のツールが出てきた事で開発者にとっては気になる存在になると思います。 既存のツールを置き換えになるのか、又は併用できるのかも気になります。 まずは動作させるまでのセットアップをしてみます。 必要なもの Mac OS X Mavericks Mac OS X Server Xcode 5 Mac OS X Server 今回初めて触りましたが、使ったことある人は結構レアなんじゃないかと思ってます。 Mac OS X Serverという名前のOSかと思ってましたが、実際の形式はアプリケーションでした。Mac App Storeからイントール可能

    BotsでCI環境を作る1 – Xcode 5での操作 | DevelopersIO
  • BotsでCI環境を作る2 – ブラウザでの操作 | DevelopersIO

    ※1 ログの表示はXcode版の方が見やすくなっています。 概要[Summary] テスト[Test] コミット[Commit] はほぼ一緒。アーカイブ[Archive]に関しては成功していないのでわからないが、多分そんなに使い勝手に差はないと思います。 ブラウザ版 - 生ログです Xcode版 - 整形されています ブラウザ版では Big Screen というビューがあります イメージ的にはちらっと見える位置にある、チームで共有している大きなモニターに常にテストとビルド状況が表示されているお洒落なサマリ。そんな感じです。これをワインを片手に眺めるのが iOS開発の新しいスタイルになりそうです。 まとめ ブラウザ版はXcode版の簡易版かと思ってましたが実はそうではなく、機能的にはむしろCIされているプロジェクト全体を見れる分、ブラウザ版の方が高機能でした。開発者はXcode版、コードは書

    BotsでCI環境を作る2 – ブラウザでの操作 | DevelopersIO
  • XcodeでBotを設定する - Toyship.org

    Xcode5の新しい機能として、 Botという継続的インテグレーションツールが導入されました。 アプリ開発時に、ソースコードを書く以外の部分を担当してくれる、たよりになるツールです。 自動的にビルド・テスト・リリースまでしてくれるので、ちょっと楽に開発を進められるようになるかもしれません。 継続的インテグレーションツール(CIツール)としてはJenkinsが広く使われていますが、BotにはJenkinsとほぼ同様の機能があり、さらにiOS/Macアプリに特化した機能が追加されています。 今Jenkinsを使っている人も一回試してみてはいかがでしょうか。 なお、詳しい公式資料はこちらです。 Xcode Continuous Integration Guide Botの主な機能 Botには、主にこんな機能があります。 自動ビルド インテグレーション詳細情報の表示 BigScreenによるコクピ

    XcodeでBotを設定する - Toyship.org
  • JenkinsでiOSのビルドを行う時にハマるポイントとその解決法・1 - Qiita

    とても便利なJenkinsですが、 たまによくしっかり ハマるので、その辺のポイントと私なりの解決法を共有します。 XCodeのプロジェクトが他のstatic libraryプロジェクトを含んでいる場合 まず、普通にXCode GUIを使っていてもこの辺は最初ハマることもあるかと思います。 特に static library側の Headerファイルが見つからない! というビルドエラーは結構悩まされます。 しかしこれをXCode GUIで解決するまではFAQのようで、ググると色々出てきます。 例) http://www.cocoanetics.com/2012/01/helping-xcode-find-library-headers/ ポイントは static library 側 Header を public にする Public Headers Folder Path を工夫する (

    JenkinsでiOSのビルドを行う時にハマるポイントとその解決法・1 - Qiita
  • TypeScript0.9alphaをNode+Gruntで使うよ

    Swift is the best programming language you should learn and make your dream app easily. Swift programming is a powerful yet easy-to-learn coding language created by Apple. It's frequently used for developing iOS and macOS applications, as well as tvOS and watchOS apps. While you can use other languages to create Apple apps, Swift is the preferred language, and it's recommended because its code is

  • Jenkins を iOS アプリ開発に導入してみた (SenTestKit編)

    最近、iOSアプリの開発でも継続的インテグレーション(CI)を取り入れていくプロジェクトが増加傾向にあるようで、各種ツールやライブラリ、ノウハウが出回ってきているように感じられます。そこで私も早速iOSアプリ開発でのCI導入を試してみることにしました。今回の導入試験では、以下のような環境を想定して行いました。 iOSアプリの開発を、Xcode 4.X系のプロジェクトとして行う。 VCSにはgitを採用し、githubの公開リポジトリをリポジトリサーバーとして使用する。 CIサーバにはMacを採用し、プロジェクトをビルドするためにXcode 4.Xをインストールしておく。 ■必要なツールを準備する CIといったら、まずは何はなくともJenkinsです。 http://jenkins-ci.org/ ここでは導入について詳しくは挙げませんが、私は以下のを参考にしました。 https://gi

    Jenkins を iOS アプリ開発に導入してみた (SenTestKit編)
  • iPhoneアプリ開発記(6−2):Objective−C + Xcode で CI - Natural Software

    もともと一つだった記事を個別のエントリに分けました。 iPhoneアプリ開発記(6):Objective−C + Xcode で ユニットテスト と CI iPhoneアプリ開発記(6−1):Objective−C + Xcode で ユニットテスト 参考サイト ここがとても参考になった That feels better - Cocoa, Hudson and running green - manicwave How to automate your iPhone app builds with Hudson | iOS/Web Developer's Life in Beta Hudsonを使ったCI環境の作成 ビルド 準備 MacでHudsonを動かす かおるんダイアリー Mac de Hudson 最新版にアップデートしておく(今回は1.389) MacでGitを動かす git-

    iPhoneアプリ開発記(6−2):Objective−C + Xcode で CI - Natural Software
  • 1