Open5

CircleCIで、Androidのビルドにrbenvで固定されたバージョンのRuby上で動くFastlaneを利用する

ころむにーころむにー

android/android-machine で以下コマンドにより対象のRubyをインストールすればいいかも。

rbenv install
ころむにーころむにー

ただ、毎回Rubyをインストールすると時間がかかりすぎるので、以下の形でキャッシュすればいいかも。

config.yml
    steps:
      - restore_cache:
          key: v1-rbenv-cache-{{ arch }}-{{ checksum ".ruby-version" }}
      - run:
          name: Install Ruby
          command: rbenv install
      - save_cache:
          paths:
            - ~/.rbenv/versions
          key: v1-rbenv-cache-{{ arch }}-{{ checksum ".ruby-version" }}
ころむにーころむにー

キャッシュが効いてインストール済みだとインタラクティブな入力モードが発生し、ジョブがエラーとなる。

rbenv: /home/circleci/.rbenv/versions/3.1.4 already exists
continue with installation? (y/N) 
Exited with code exit status 1

以下のようにインストール済みならスキップする引数を入れれば良さそう。

config.yml
      - run:
          name: Install Ruby
-          command: rbenv install
+          command: rbenv install --skip-existing