はじめに
約1年前にfastlane matchを使ったCI/CD環境の構築について記事にまとめました。
それから一年が経過して証明書の更新が必要になり追加作業をしたので、その内容をまとめます。
ちなみに上記の記事を書いた当時は、業務で使っているCI/CDの環境構築を自分でも一通り構築してみたいというモチベーションのもと、Bitriseを使ったCI/CD環境を構築しました。
内容
環境構築をした際は、match init
から行ったのですが、今回は証明書の更新なので
配布と開発用で下記2つのコマンドを一年ぶりに実行しようと思います。
-
fastlane match appstore
-
fastlane match development
しかし、何もせずにこのまま実行すると
Githubの証明書リポジトリに期限の切れた証明書が存在することから再生成されません。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F631585%2Ffa02779c-f895-60a8-b6bb-cee33ad7ae0b.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=6d0a12d9185cfe53ffb1b80764bceed7)
Githubの証明書リポジトリを確認すると変更もlast yearになっています。(それはそう)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F631585%2Fab59e0b9-ed13-1834-e393-2a66736d00ff.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=819f44a18cb2390ff896ec6fcc4e1019)
まずはコマンド実行前に証明書リポジトリから期限切れのものを削除します。
(一緒にプロビジョニングプロファイルも削除しました)
削除してから再実行すると新しい証明書とプロビジョニングプロファイルが生成され、証明書リポジトリにも保存されました。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F631585%2F7465bc0d-d47f-4cea-d4c4-6eecdcb41032.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=2785a62c5f9aec0baa254cd843965380)
ちなみにApple DeveloperのCertificates, Identifiers & Profiles
は特に変更せずに実行しましたが、実行時に生成されるプロビジョニングプロファイルの名前が期限切れのものが存在することでシンプルなものから数字が後ろについたものになりまして、先に消してから実行した方がよかったなと思いました。。。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F631585%2Fe13dc1a5-7a83-e41a-e85b-74086b232562.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=e509399f0bba193de8106682e548a457)
おわりに
証明書の更新作業もほとんど手間要らずで最高でした。
本当はnukeコマンドも使ってみようかなと思ったのですが、Certificates, Identifiers & Profiles
から手動で消すでもあまり手間は変わらないなと思ったのと、別アプリで使っている証明書も存在するのでやらずにしました。また機会があればで。
参考