くうと徒然なるままに

モバイルアプリを作りながらバックエンドも作っています。

Android App のCI を Azure DevOps から Circle CI に移行して大変だったところについて。

Azure DevOps から業界で幅広く使われている Circle CI に移行中です。
※最近見てる企業では大体Circle CI 使ってるみたい。

また、DroidKaigi のアプリ開発インターンシップで少しCircle CI を触った感触的には面白そうだったのも理由の一つにあります。

Azure DevOps と Circle CI の違うところ。を中心に書いていきます。

Build Image の指定を Docker Image でするところ。

Azure DevOps で色々する場合は、基本的には Hosted VM ですることが多いかなと思います。

しかし、 Circle CI の場合は基本的に Docker Image を指定して行います。

例えば、 Android アプリの場合は、 Circle CI の用意した image を指定するととりあえずはビルドできる環境が手に入ります。

hub.docker.com

以下のように yaml を設定するとできたりするみたい。

docker:
      # specify the version you desire here
      - image: circleci/android:api-27 

FLow 定義時に表示される yaml ではビルドが通らない

リポジトリを選択して、サンプルのような形で表示される以下のコードでは通らなく、修正が必要でした。

gradle dependencies

Build するためには以下のようなコマンド(?)を使えば大丈夫みたいです。

- run:
          name: Gradle Build
          command: ./gradlew build

同様に test するところでも修正が必要だったのでしたら一旦は通るようになりました。

連携が多くて良さそう

まだ試せれてはないですが、 Slack とかと簡単に連携できたりして良さそう。

まとめ

Circle CI に移ろうかなと思いました。