Post on 21-Mar-2017
• @tenten0213
• SIerの雑食系エンジニア
• Java, Swift, JavaScript, Ruby, Python, COBOL…
• スクラムマスター
• Jenkins職人(引退)
自己紹介
http://qiita.com/tenten0213/items/7a362a4b9d65040d93d6
Jenkins職人問題• GUIでの設定
• 環境設定
• パイプライン
• レポーティング
• あれ、shell書いてる…
• プラグイン選択
前どうやったっけ?
どこか設定弄ったら動かなくなったぞ?
なんでこうなってるの?
他はコード化・設定ファイル化済• Gem
• Gemfile(.lock)
• Fastlane
• Fastfile
• CocoaPods
• Podfile(.lock)
• SwiftLint
• .swiftlint.yml
→ 後はビルドパイプラインだけ
Jenkinsでも出来るけど…
https://concourse.ci/concourse-vs.html#jenkins
Concourseのアーキテクチャ
パイプラインベースのCI/CDツール Concourse CI入門 - BLOG.IK.AM https://blog.ik.am/entries/379
試した構成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を修正する。
ごにょごにょ💩
https://guides.cocoapods.org/using/troubleshooting.html#im-getting-permission-errors-while-running-pod-commands
CocoaPodsがrootで実行できないので 権限周りをごにょごにょと