SlideShare a Scribd company logo
Build an iOS app
with
ConcourseCI
@tenten0213
Concourse CI/CD Meetup Tokyo #5 !
• @tenten0213
• SIerの雑食系エンジニア
• Java, Swift, JavaScript, Ruby, Python, COBOL…
• スクラムマスター
• Jenkins職人(引退)
自己紹介
http://qiita.com/tenten0213/items/7a362a4b9d65040d93d6
なぜここに立っているのか
iOSアプリ開発やっている人?
• Java(JVM)?
• Ruby ?
• Python ?
• PHP ?
Motivation
Jenkins職人問題
• GUIでの設定
• 環境設定
• パイプライン
• レポーティング
• あれ、shell書いてる…
• プラグイン選択
前どうやったっけ?
どこか設定弄ったら
動かなくなったぞ?
なんでこうなって
るの?
他はコード化・設定ファイル化済
• Gem
• Gemfile(.lock)
• Fastlane
• Fastfile
• CocoaPods
• Podfile(.lock)
• SwiftLint
• .swiftlint.yml
→ 後はビルドパイプラインだけ
Jenkinsでも出来るけど…
https://concourse.ci/concourse-vs.html#jenkins
Build an iOS app with ConcourseCI
Concourseのアーキテクチャ
パイプラインベースのCI/CDツール Concourse CI入門 - BLOG.IK.AM
https://blog.ik.am/entries/379
iOSアプリをビルドするには
macOSでworker
を立てればOK
試した構成
ATC
web UI & build scheduler
https://i2.wp.com/blog.docker.com/media/docker-whales-transparent.png
macOS
TSA
worker registration & forwarding
Workers
container runtime & cache management
/usr/local/bin/concourse
8080
2222
Concourseのインストール
Docker Composeで構築(ホント楽)
https://concourse.ci/docker-repository.html
https://www.docker.com/
Workerの設定と起動
Mac用のバイナリ(concourse_darwin_amd64)を取得
https://github.com/concourse/concourse/releases
実行パスの通った場所に配置。
Worker用の鍵を生成とauthorized_worker_keysへの追加
Workerの起動
docker-compose.ymlの修正
"failed to dial: failed to connect to TSA:
dial tcp 127.0.0.1:2222: getsockopt: connection refused"
Workerを起動するとTSAとの接続エラーがでるので
docker-compose.ymlを修正する。
パイプラインを登録する
platformはdarwinで
ごにょごにょ
ごにょごにょ💩
https://guides.cocoapods.org/using/troubleshooting.html#im-
getting-permission-errors-while-running-pod-commands
CocoaPodsがrootで実行できないので
権限周りをごにょごにょと
env 😇
Fastlaneで実行 🚀
https://github.com/fastlane/fastlane
30回目にて🍻
残課題 (試せてない) 🤓
• レポートの出し先どうするか
• チャットへの通知
• マルチブランチビルド
出来たらJenkinsから置き換えるかも?
Build an iOS app with ConcourseCI

More Related Content

PDF
Alexaスキルアワード2018 ファイナル スロットテスト 発表資料 小西啓介
PDF
COOKPAD tab 勉強会 2014.04.24
PDF
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
PDF
iOSエンジニア in ハードウェア・プロジェクト
PDF
KINECT de DEPLOY
PDF
3分で作る Kotlin Friendly な API
PDF
Tiなごや vol.3 Alloyやろまい
PDF
Tiなごや vol.3 Titaniumのキホン
Alexaスキルアワード2018 ファイナル スロットテスト 発表資料 小西啓介
COOKPAD tab 勉強会 2014.04.24
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
iOSエンジニア in ハードウェア・プロジェクト
KINECT de DEPLOY
3分で作る Kotlin Friendly な API
Tiなごや vol.3 Alloyやろまい
Tiなごや vol.3 Titaniumのキホン

What's hot (12)

PDF
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
PPTX
Functional Programming in Scala #4-1
PDF
Ansible入門 20151226
PDF
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
PDF
React introduntion
PDF
RealSenseを使ってCrazyflieを自律飛行させてみた
PPTX
Kinoma Element 味見の会
PDF
やはりお前らのiOS7対応は間違っている
PDF
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
PDF
Kotlinこんなん出ましたけど
PDF
やはりお前らのCore Dataの使い方も間違っている
PDF
インフラエンジニアとして普段心がけていること
RubyKaigi2009 - RubyをつかったiPhoneアプリケーション開発
Functional Programming in Scala #4-1
Ansible入門 20151226
Nerves!? Elixir!?? 関数型言語でれっつIoT開発!!
React introduntion
RealSenseを使ってCrazyflieを自律飛行させてみた
Kinoma Element 味見の会
やはりお前らのiOS7対応は間違っている
O/R Mapping の話をするよ。ActiveRecord の話をしたかった。
Kotlinこんなん出ましたけど
やはりお前らのCore Dataの使い方も間違っている
インフラエンジニアとして普段心がけていること
Ad

Viewers also liked (20)

PDF
Msa読書会#3前半
PDF
Lessons Learned: Using Concourse In Production
PDF
たとえ日本人同士でも必要な異文化理解力
PDF
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
PDF
From legacy to modern CI/CD in tis with concourse
PDF
SIerもはじめる わたしたちのDevOps #jjug_ccc
PDF
Concourse and Database
PDF
How to Become a Thought Leader in Your Niche
PDF
AWSでアプリ開発するなら 知っておくべこと
PDF
PIXTAにおけるCloudSearchのコスト削減
PPTX
MTETA ITA at Lipscomb University ~ 3/14/2017
PDF
受入試験を自動化したらDevとQAのフィードバックループがまわりはじめた話
PPTX
Concourse.ci vs Jenkins
PDF
学振特別研究員になるために~2018年度申請版
PDF
サーバーレスの今とこれから
PDF
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
PDF
10 Things You Didn’t Know About Mobile Email from Litmus & HubSpot
PDF
Team Support in Concourse CI 2.0 #concourse_tokyo
PDF
Modern Prospecting Techniques for Connecting with Prospects (from Sales Hacke...
PDF
Behind the Scenes: Launching HubSpot Tokyo
Msa読書会#3前半
Lessons Learned: Using Concourse In Production
たとえ日本人同士でも必要な異文化理解力
自動化を支えるCI/CDツールの私の選択 ~何をするためにCI/CDツールを選ぶか~
From legacy to modern CI/CD in tis with concourse
SIerもはじめる わたしたちのDevOps #jjug_ccc
Concourse and Database
How to Become a Thought Leader in Your Niche
AWSでアプリ開発するなら 知っておくべこと
PIXTAにおけるCloudSearchのコスト削減
MTETA ITA at Lipscomb University ~ 3/14/2017
受入試験を自動化したらDevとQAのフィードバックループがまわりはじめた話
Concourse.ci vs Jenkins
学振特別研究員になるために~2018年度申請版
サーバーレスの今とこれから
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
10 Things You Didn’t Know About Mobile Email from Litmus & HubSpot
Team Support in Concourse CI 2.0 #concourse_tokyo
Modern Prospecting Techniques for Connecting with Prospects (from Sales Hacke...
Behind the Scenes: Launching HubSpot Tokyo
Ad

Similar to Build an iOS app with ConcourseCI (20)

PDF
Jenkins on-mac
PDF
福井スマートフォンハッカソン Titanium Mobileの紹介
PDF
Objective-Cプログラマのためのswift導入法
PDF
第1回 コデアルiOSアプリ勉強会
PDF
Xcode で gulp を使うお話
PDF
Devとopsをつなぐchat ops
PDF
Ciじゃない方のJenkins
PDF
JobScheduler Code Reading
PDF
[20130624]最近の開発環境について話してみる sakata
PPTX
Jsf アプリ作ったった
PDF
Python & PyConJP 2014 Report
PPTX
2012 kanemotolablecture7
PDF
PythonのGUI_2018 with NSEG
PDF
Swiftビギナーズ倶楽部 vol.2
PDF
iOS豆知識ver0.0.5
PDF
iphone5 発表イベント 速報まとめ
PDF
iphone5 発表イベント 最速まとめLT
PDF
XcodeのTargetについてのTIPS
PDF
Fn project爆誕
PDF
クラウドセキュリティ基礎 #seccamp
Jenkins on-mac
福井スマートフォンハッカソン Titanium Mobileの紹介
Objective-Cプログラマのためのswift導入法
第1回 コデアルiOSアプリ勉強会
Xcode で gulp を使うお話
Devとopsをつなぐchat ops
Ciじゃない方のJenkins
JobScheduler Code Reading
[20130624]最近の開発環境について話してみる sakata
Jsf アプリ作ったった
Python & PyConJP 2014 Report
2012 kanemotolablecture7
PythonのGUI_2018 with NSEG
Swiftビギナーズ倶楽部 vol.2
iOS豆知識ver0.0.5
iphone5 発表イベント 速報まとめ
iphone5 発表イベント 最速まとめLT
XcodeのTargetについてのTIPS
Fn project爆誕
クラウドセキュリティ基礎 #seccamp

Build an iOS app with ConcourseCI