Closed5
CircleCIで、Androidのビルドにrbenvで固定されたバージョンのRuby上で動くfastlaneを利用する
Dockerイメージの cimg/android:2024.01
はRubyのバージョン切り替えのためのツール rvm
が入っていない。
AndroidのOrbの中に定義されている、 android/android-machine
だと rbenv
がインストールされている。
以下のように指定する。
config.yml
jobs:
job-name:
executor:
name: android/android-machine
tag: default
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
このスクラップは2ヶ月前にクローズされました