69
51

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

iOS・Androidで、CI/CD環境を作る際の選択肢

Last updated at Posted at 2018-12-27

Overview

  • iOS・AndroidでCI/CDやDevOps環境を作成する際に、使えそうなツールをまとめたものです。

ツールリスト

※WEBページ版

用途 分類 小項目 サービス名
構成管理ツール Ansible + Ansible Container Chef Puppet
コンテナクラスタ コンテナ Docker
オーケストレーション Docker Compose + Docker Swarm + Docker Machine Kubernetes Amazon ECS
OS CentOS Ubuntu maxOS
インフラ クラウドサーバー Amazon Web Services (AWS) Google Cloud Platform Microsoft Azure IBM Cloud Alibaba Cloud
デバッギング Rookout
ロギング Fluentd Redash Elasticsearch + Kibana
モニタリング Datadog
インシデントライフサイクル管理 PagerDuty
コラボレーション Issues Jira
Chat Slack HipChat
レポジトリー パブリック GitHub GitHub Gists GitLab Bitbucket Azure Repos
プライベート
パッケージマネージャー パブリック iOS CocoaPods Swift Package Manager (SwiftPM) Carthage
プライベート iOS CocoaPods Private Specs
パッケージ・アーティファクトレポジトリー パブリック Maven Central Repository GitHub Package Registry
プライベート Sonatype Nexus Repository Manager github/maven-plugins JFrog Artifactory
CI 個人・小規模チーム クラウドサーバー Bitrise CircleCI GitHub Actions
(GitHubホストランナー又はセルフホストランナー)
Xcode Cloud (Beta) Travis CI Buildkete Cirrus CI + Anka Cloud MacStadium Azure Pipelines Visual Studio App Center
エンタープライズ クラウドサーバー
オンプレミスサーバー GitHub Actions + セルフホストランナー Azure Pipelines + Self-hosted macOS agents
個人 ~ エンタープライズ クラウド + オンプレミスサーバー Concourse CI GitLab CI/CD Jenkins
CD Beta配布 App Store Connect + TestFlight Firebase App Distribution DeployGate Bitrise Ship
ビルド自動化ツール iOS fastlane
Android Gradle
静的コード解析 コーディングスタイル Swift realm/SwiftLint sleekbyte/tailor
Objective-C oclint/oclint
Kotlin shyiko/ktlint
バグ・脆弱性・コードの匂い SonarQube,
SonarCloud
Codacy
(※Not supported Objective-C)
Code Climate ShiftLeft codebeat
コードカバレッジ Codecov Coveralls
UI iOS
(Interface builder)
fastred/IBAnalyzer IBDecodable/IBLinter
コードレビュー自動化 Linterコラボ reviewdog/reviewdog
PRエチケット Swift danger/swift
Kotlin danger/kotlin
テスト 実機テスト iOS Firebase Test Lab AWS Device Farm Remote TestKit
Android
テスト管理 TestRail

説明

CI

  • Bitrise
    • サーバーメンテナンスが不要なクラウド型と、メンテナンスが必要ながらセキュアなオンプレミス型を選択出来る。i/Aともにサポートしている。
    • CircleCIと比較されやすい。
    • ジョブ作成方法はGUIなのでとっつきやすいと思います。その反面GUIなので、大企業での一括導入の場合、導入推進者は苦労するかも知れません。
    • bitrise.yml
    • GitHubとGitLabとBitbucketをサポートしており、そのどれかでレポジトリ管理している必要があります。
    • 静的なパブリックIPアドレスが提供されている。
    • 開発規模は、個人〜小中だと相性がいいと思います。
    • 料金体制は月額です。
  • CircleCI
    • サーバーメンテナンスが不要なクラウド型と、メンテナンスが必要ながらセキュアなオンプレミス型を選択出来る。i/Aともにサポートしている。
    • Bitriseと比較されやすい。サービス内容はTravis CIに似ている。
    • ジョブ作成方法はYAMLです。YAMLなので記述し易く、gitで管理されます。
    • GitHubとBitbucketをサポートしており、そのどちらかでレポジトリ管理している必要があります。
    • 静的なパブリックIPアドレスは、提供されていない。(提供するか検討はされている)
    • 開発規模は、中小企業〜大規模だと相性がいいと思います。個人でもたくさんアプリリリースするなら有り。
    • 料金体制は月額です。
    • CircleCIのビルド傾向を解析したい場合は、Buildtrakr が良さそう。
  • Travis CI
    • サーバーメンテナンスが不要なクラウド型が選択出来る。i/Aともにサポートしている。
    • CircleCIと比較されやすく、両者は似ている。
    • ジョブ作成方法はYAMLです。YAMLなので記述し易く、gitで管理されます。
    • GitHubをサポートしており、GitHubでレポジトリ管理している必要があります。
    • 開発規模は、中小企業〜大規模だと相性がいいと思います。個人でもたくさんアプリリリースするなら有り。
    • 料金体制は月額です。
  • Cirrus CI + Anka Cloud MacStadium
    • 執筆予定
  • Azure Pipelines
    • 執筆予定
  • Visual Studio App Center
    • 執筆予定
  • Concourse CI
    • CI環境構築が必要。
    • Androidのビルドのみの場合、クラウド型オンプレミス型になる。
    • iOSをビルドする場合、オンプレミスオンリークラウドとオンプレミス複合環境になる。
      • AWSなどのクラウドサーバーで、macOS環境を提供している会社がないため、macOSマシンを自前する必要がある。
    • Jenkinsの後発です。
    • ジョブ作成方法はYAMLです。YAMLなので記述し易く、gitで管理されます。
    • CI環境構築とメンテナンスを自前で行えるのがメリットであり、デメリットでもあると思います。
    • 開発規模は、中小企業〜大規模だと相性がいいと思います。
    • 完全オンプレミスの場合、初期費用としてサーバー購入費用がかかります。ランニングコストはさほどかかりませんが、メンテナンスを行うエンジニアを常駐する必要があります
  • Jenkins
    • CI環境構築が必要。
    • Androidのビルドのみの場合、クラウド型オンプレミス型になる。
    • iOSをビルドする場合、オンプレミスオンリークラウドとオンプレミス複合環境になる。
      • AWSなどのクラウドサーバーで、macOS環境を提供している会社がないため、macOSマシンを自前する必要がある。
    • CIの本家に当たり、Concourse CIと比較されます。バージョンアップは現在も頻繁に行われている。
    • ジョブ作成方法はGUIです柔軟性にはすごく長けているのですが、設定項目が多く属人化し易いです。
    • CI環境構築とメンテナンスを自前で行えるのがメリットであり、デメリットでもあると思います。
    • 開発規模は、中小企業〜大規模だと相性がいいと思います。
    • 完全オンプレミスの場合、初期費用としてサーバー購入費用がかかります。ランニングコストはさほどかかりませんが、メンテナンスを行うエンジニアを常駐する必要があります
  • GitLab CI/CD
    • CI環境構築が必要。
    • Androidのビルドのみの場合、クラウド型オンプレミス型になる。
    • iOSをビルドする場合、オンプレミスオンリークラウドとオンプレミス複合環境になる。
      • AWSなどのクラウドサーバーで、macOS環境を提供している会社がないため、macOSマシンを自前する必要がある。
    • 開発規模は、中小企業〜大規模だと相性がいいと思います。
    • レポジトリ管理とCIを全て、GitLabにしたい場合はメリットがあると思います。
    • レポジトリ管理のGitLabと同じライセンスで利用できます。
    • 完全オンプレミスの場合、初期費用としてサーバー購入費用がかかります。ランニングコストはさほどかかりませんが、メンテナンスを行うエンジニアを常駐する必要があります
  • Nevercode (Beta)
  • Semaphore
    • 執筆予定
  • Buildkite
    • 執筆予定

コードレビュー自動化

69
51
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
69
51

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?