rbenv や Bundler を用いてCocoaPods のバージョン管理しているチームは多いと思います。
以下は rbenv と Bundler を使い Ruby と CocoaPods のバージョンを管理する例です。
Ruby のバージョンを 2.7.1, Bundler のバージョンを 2.1.4, CocoaPods のバージョンを 1.9.2 に固定しています。
$ brew install rbenv ruby-build
$ rbenv install 2.7.1
$ gem install bundler -v 2.1.4
$ bundle config set path vendor/bundle
$ bundle _2.1.4_ install
$ bundle exec pod install
.ruby-version
2.7.1
Gemfile
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem 'cocoapods', '1.9.2'
gem 'cocoapods-binary', '0.4.4'
この方法では rbenv のインストールの必要があり、デザイナーさんなどエンジニア以外の人の環境構築のハードルが少し高いです。
今回は Docker で CocoaPods を管理することで、そのハードルを少し下げてみました。
以下のような DockerFile を用意し、イメージをビルドします。
好みでプラグインを追加したりレイヤーを統合したりしてください。
Dockerfile
FROM ruby:2.7.1
RUN gem install cocoapods -v 1.9.2
RUN gem install cocoapods-binary -v 0.4.4
RUN adduser cocoapods
USER cocoapods
RUN pod setup
WORKDIR /project
$ docker build -t cocoapods-docker .
プロジェクトのディレクトリに移動し、ビルドしたイメージを使い pod install
を行います。
$ docker run --rm -v $PWD:/project cocoapods-docker pod install
こちらのリポジトリを参考にさせていただきました。