apeescape2.com
  • メイン
  • エンジニアリング管理
  • 財務プロセス
  • アジャイル
  • 革新
モバイル

Fastlane:クルーズコントロールでのiOSオートメーション

iOS用のソフトウェアを作成することは、Objective-CまたはSwiftコードを作成することだけではありません。UIKitの仕組み、証明書の作成方法、アプリをストアに公開する方法、アプリのレビューに対処する方法などを知る必要があります。この永遠のタスクリストが疲れる場合は、ワークフローの自動化がまさに必要なものです。

会う 追い越し車線 、各デプロイで数分または数時間も節約できるように設計されたツール。

FastlaneiOSによる配信の自動化



Fastlaneは、ベータビルドをCrashlytics、TestFlight、AppStoreなどに送信するプロセスを自動化するのに役立ちます。

この記事では、Fastlaneを使用してiOSアプリのデプロイワークフローを自動化する方法を学習します。このツールのiOSの側面に焦点を当てますが、FastlaneはAndroid開発の自動化にも同様に機能します。

例によるPython機械学習

Fastlane入門

最も簡単な方法に応じて、いくつかのインストール方法を選択できます。あなたが持っている場合 自作 インストールおよび構成済みのFastlaneのインストールには、次の1つのコマンドが必要です。

brew cask install fastlane

それ以外の場合、FastlaneはRubyベースのツールですgem常にオプションです:

sudo gem install fastlane -NV

または、Fastlaneをいつでもダウンロードできます。 公式サイト 。

Fastlaneをインストールしたら、fastlane initを実行します。プロジェクトディレクトリで、指示に従います。

展開の自動化

Fastlaneをインストールすると、Rubyスクリプトを記述して、必要な場所にデプロイメントを配置するために何をする必要があるかを段階的に示すことができます。これは、アクション、ツール、およびレーンを使用して行われます。

Fastlaneツール、アクション、およびプラグイン

Fastlaneは、アプリの構築に役立つツールをコアに持つことで機能します。ビルドツールに加えて、Crashlytics、HockeyApp、TestFlightなどのサービスとの170以上の組み込み統合があり、サードパーティが作成および公開するプラグインにより、他のサービスなどに接続できます。

基本的に、さまざまなタスクを実行できる主要なツールを利用できます。自動スクリーンショットの撮影からフレーミング、ストアへのアップロードまで、アプリをビルドする前にすべてのテストを自動的に実行できます。

行動 はFastlaneのコアツールであり、プラグインはFastlaneセットアップにサードパーティのアクションを追加する方法です。

レーン

Fastlaneは、基本的にアクションまたはプラグインのリストを順番にグループ化するレーンを使用するため、毎回同じ結果を得ることができます。

レーンを実行すると、各アクションは環境変数をエクスポートし、次のアクションはこれらの変数を自動的に取得してプロセスを続行します。たとえば、gymを使用しますアクションは.ipaのパスになりますファイルが生成され、crashlyticsを使用しますこれにアクセスします.ipaこのファイルをベータサービス配布システムにアップロードする場所。

iOSでFastlaneを使用する

あなたは非常にシンプルなアプリを望んでいる新しいApeeScapeクライアントから始めています。設計はすでに完了しており、アプリは数週間でコーディングできます。次のステップはコーディングを開始することです。反復プロセス中は、数週間ごとにベータ版アプリをクライアントに送信して、クライアントが進捗状況を確認し、状況がどのように機能しているかについてフィードバックを提供できるようにします。

ベータ版をクライアントに送信するたびに、基本的なチェックリストを確認します。アプリへの署名、ベータサービスへのアップロード、新しいバージョンの追加などです。これに、必要な作業を追加します。 1回(毎年):証明書への署名、プッシュ通知証明書への署名(必要な場合)など。

Fastlaneを使用すると、これらすべてを自動的に実行できるようになります。

Crashlyticsベータ版への送信

たとえば、Crashlytics Betaを介してアプリを共有するには、署名証明書とプロビジョニングプロファイルを作成する必要があります。

Fastlaneには次のアクションがあります match 設定すると、次のようになります。

  1. 配布署名証明書を作成します。
  2. アドホックプロビジョニングプロファイルを作成します(#1の証明書に添付されています)。
  3. 証明書とプロファイルを#1と#2からGitリポジトリに保存し、OpenSSLを使用して暗号化します。

セットアップは簡単です。

まず、fastlane match initを実行します開始するには、Gitリポジトリを設定したら、fastlane match adhocに電話するだけです。アドホックプロビジョニングプロファイルを取得するか、fastlane match appstoreを実行しますAppStore証明書を取得します。

matchを使用する利点つまり、証明書を取り消さなくても、コンピューター間およびチームメート間で証明書を非常に簡単に同期でき、速度が向上します。実行中fastlane match appstore数秒で証明書が発行されます。

これで、必要な証明書とプロビジョニングができました。Crashlyticsにリリースしてみましょう。

アプリをFabric’s Crashlyticsに送信するための一般的なワークフローには、次の手順が含まれます。

  1. 配布署名証明書を作成します。
  2. アドホックプロビジョニングプロファイルを作成します(#1の証明書に添付されています)。
  3. #2のプロビジョニングプロファイルを使用するようにアプリを設定します。
  4. アプリをアーカイブします。
  5. Fabricを開き、手順に従ってアプリをベータテスターに​​送信します。

Fastlaneは、雑用を次のように置き換えます。

platform :ios do lane :beta do match(type: “adhoc”) gym crashlytics end end

現在、fastlane betaを実行していますターミナルからこのスクリプトを起動します。

これにより、最初に署名証明書とプロビジョニングプロファイルの作成と更新を処理するアクションであるmatchが呼び出され、次に、以前に作成されたものと同じ証明書とプロファイルを使用してアプリをビルドおよびパッケージ化するアクションであるgymが呼び出されます。 、そして最後に、crashlytics、これはこの署名された.ipaを取得しますそれをCrashlyticsサービスにアップロードします。

これらのステップはすべて、常に同じ順序で呼び出されるため、結果のファイルがより予測可能になり、エラーが減少します。

MacBook-Pro:TestProject user$ fastlane beta +------+-------------------------------------+-------------+ | fastlane summary | +------+-------------------------------------+-------------+ | Step | Action | Time (in s) | +------+-------------------------------------+-------------+ | 1 | Verifying required fastlane version | 0 | | 2 | match | 57 | | 3 | gym | 592 | | 4 | crashlytics | 195 | +------+-------------------------------------+-------------+ [20:25:13]: fastlane.tools just saved you 14 minutes!

これが、Fastlaneを実行してアプリをCrashlyticsに送信する方法の基本的な設定でした。他に何を自動化できますか?

ビルドバージョンのインクリメント

たとえば、ベータ版を送信するたびに、ビルドのバージョン番号を増やしたいと設定できます。

これは、increment_build_numberと呼ばれるアクションを使用して実現できます。 fastlane run increment_build_numberによって端末から呼び出すことができますまたはベータレーンでインラインで使用:

platform :ios do lane :beta do increment_build_number match(type: “adhoc”) gym crashlytics end end

おめでとう!これで、ビルドバージョン番号もインクリメントする自動デプロイスクリプトができました。唯一の注意点は、このレーンを呼び出すと、プロジェクト内のファイル(または少なくともビルド番号が組み込まれているファイル)が変更されることです。

とにかくその変更をリポジトリにコミットすることを計画していた場合は、そのためのアクションがあります:commit_version_bump。このアクションは、新しいバージョン番号でファイルをコミットします。

platform :ios do lane :beta do increment_build_number match(type: 'adhoc') gym crashlytics commit_version_bump( xcodeproj:'myProject.xcodeproj', ) end end

これにより、「Version Bumpto27」のようなコミットメッセージでファイルがコミットされます。

TestFlightへのCrashlytics

さて、ここまで進んだら、Crashlyticsへの自動デプロイを非常に短時間で行うことができ、長期的には数え切れないほどの時間を節約できます。それについての最も良い部分は、代わりにアプリをTestFlightに送信したい場合、あなたがする必要があるのは変更することだけですcrashlytics pilotへ。

または、そのために別のレーンを作成できます。

platform :ios do lane :beta-testflight do increment_build_number match(type: 'adhoc') gym pilot commit_version_bump( xcodeproj:'myProject.xcodeproj', ) end end

iOSの自動化がシンプルに

Fastlaneはシンプルで使いやすいです。しかし、それはあなたの常連に驚くべき価値をもたらします iOS開発 面倒なことや時間を無駄にすることからあなたを救うことによってワークフロー。

このFastlaneの紹介がお役に立てば幸いです。あなたはチェックアウトすることができます 公式ドキュメント Fastlaneの詳細、特に 行動 現在および次のiOSプロジェクトで自動化できるものについてのインスピレーションを探している場合。

基本を理解する

Fastlaneとは何ですか?

Fastlaneは、iOSおよびAndroidアプリのリリースおよび配信ワークフローを自動化するツールです。

Fastlaneをインストールするにはどうすればよいですか?

ターミナルで「brewcaskinstall fastlane」を実行するか、https://download.fastlane.tools/からインストーラーをダウンロードします。

ゴールドスミスチームのシニアバックエンドエンジニア

その他

ゴールドスミスチームのシニアバックエンドエンジニア
Sassを使ったテーマ:SCSSチュートリアル

Sassを使ったテーマ:SCSSチュートリアル

Webフロントエンド

人気の投稿
コンテキストアウェアアプリケーションと複合イベント処理アーキテクチャ
コンテキストアウェアアプリケーションと複合イベント処理アーキテクチャ
成功のためのKPI–プロジェクトマネージャーのパフォーマンスメトリクスの概要
成功のためのKPI–プロジェクトマネージャーのパフォーマンスメトリクスの概要
プロダクトマネージャーとプロジェクトマネージャー:コアの類似点と相違点を理解する
プロダクトマネージャーとプロジェクトマネージャー:コアの類似点と相違点を理解する
フリーランサーの個人情報の盗難:それは私に起こりました—これがあなたが知っておくべきことです
フリーランサーの個人情報の盗難:それは私に起こりました—これがあなたが知っておくべきことです
Angular5とASP.NETCore
Angular5とASP.NETCore
 
レスポンシブデザインでは不十分です。レスポンシブパフォーマンスが必要です
レスポンシブデザインでは不十分です。レスポンシブパフォーマンスが必要です
創設者のためのスタートアップ資金調達:あなたの仲間のチェックリスト
創設者のためのスタートアップ資金調達:あなたの仲間のチェックリスト
タイムロックウォレット:イーサリアムスマートコントラクトの概要
タイムロックウォレット:イーサリアムスマートコントラクトの概要
jQueryでのFusionChartsのドリルダウンに関するチュートリアル
jQueryでのFusionChartsのドリルダウンに関するチュートリアル
すべての企業が毎週のキャッシュフロー予測を作成する必要がある理由
すべての企業が毎週のキャッシュフロー予測を作成する必要がある理由
人気の投稿
  • CFOの義務は何ですか
  • 被用者報酬計算機の雇用者費用
  • mysqlレプリケーションを設定する方法
  • Javaなしでゲームを埋める
  • 機械学習のコーディング方法
  • c法人vss法人vsパートナーシップ
カテゴリー
プロジェクト管理 製品の担当者とチーム ヒントとツール 設計プロセス 収益性と効率性 投資家と資金調達 その他 Uxデザイン Uiデザイン エンジニアリング管理

© 2021 | 全著作権所有

apeescape2.com