🛠️
CocoaPods を Docker を介して実行する方法
みなさん CocoaPods 使ってますか?
僕はというと、使いたくないけど使うこともあります...という感じです。
なるべくどのプロジェクトも Swift Package Manager を使いたいです。
まぁそうも言ってられないので、
なるべく環境を汚さない方法で CocoaPods を使う方法を紹介します。
1. Dockerfile を用意
$ touch Dockerfile
FROM ruby:3.2.2
ENV APP_ROOT /app
RUN mkdir $APP_ROOT
WORKDIR $APP_ROOT
# Insall CocoaPods
RUN gem install cocoapods -v 1.14.2
# Create cocoapods user (You cannot run CocoaPods as root)
RUN adduser cocoapods
USER cocoapods
# Setup CocoaPods
RUN pod setup
2. Build する
Dockerfile があるディレクトリで:
$ docker build -t cocoapods .
3. 実行する
Xcode のプロジェクトがあるディレクトリで:
$ docker run --rm -it -v $PWD:/app cocoapods pod install
以上です。簡単でした。
イメージを軽量化するテクニックなどもありそうですがここでは割愛します。
僕はイメージに名前とタグ・バージョン番号をつけて registry に push して管理してます。
$ docker build -t tdkn/cocoapods:1.14.2 $ docker push tdkn/cocoapods:1.14.2
これでいつでも使えるというわけです。
その作業も GitHub Actions など活用すれば自動化できそうですね。
Discussion