WLアプリケーションの開発を自動化した方法

ホワイトラベルは、あらゆるブランドに合わせてカスタマイズできるモバイルアプリケーションです。コーポレートカラーでデザインし、必要なブロックと機能を選択し、説明を追加します。2015年からランブラー/キャッシュレジスターに基づいてリリースしています。この記事では、WLの開発を自動化および高速化する方法について説明します。







ランブラー/ボックスオフィスは、コンサート、劇場、映画、スポーツ、その他のイベントのチケットを販売するためのオンラインサービスおよびアプリケーションです。また、パートナー向けの他のB2Bオファーも開発しています。モバイルSDK、Webサイトやソーシャルネットワーク用の組み込みウィジェット、販売およびオーディエンス分析用のCRMシステム、および多数の技術ソリューションです。しかし、今日はWLのみに焦点を当てます。



前に来たもの



WLアプリケーションのリクエストを受け取った後、プロジェクトマネージャーはすべての要件を再編成および改良し、チームマネージャーに転送する必要がありました。次に、彼は必要なすべてのパラメーターを再度明確にして要求し、設計者、開発者、およびテスターの間で作業を分散しました。また、WLアプリケーションを作成するには、プロジェクトに新しいターゲットを作成し、すべての構成ファイルを調べ、さまざまなサービスに必要なIDを設定し、色、フォント、画像などを設定する必要があります。







理想的な条件では、新しいWLの開発には少なくとも2〜3日かかります。1つはiOSおよびAndroid開発者向けで、テストも必要です。従業員が初めてWLアプリケーションの作成に直面した場合、そのタスクには最大3日かかる可能性があり、これにより合計作業時間が長くなります。したがって、Rambler / Cashierにとって、WLアプリケーションの作成は、開発者の肩にかかって貴重な時間を開発者から奪う日常的な作業です。



解決策は何でしたか



  1. すべてをそのままにして、開発者の時間を「手動」のWL作成に定期的に費やし続けることができました。
  2. 2番目のオプションは、開発リソースを使用せずに新しいWLを作成するプロセスを自動化するソリューションを開発することです。同時に、タスクは最小限の労力で実行されるため、新しいWLを作成する要求を受信する頻度は重要ではありません。


新しいWLを作成する要求の頻度を分析した後、2番目のオプションを使用することにしました。これにより、開発リソースを1回だけ使用できますが、最小限の労力でタスクを迅速に実行し、マネージャーと技術サポートの時間のみを使用できるツールを会社に提供できます。



ソリューションの仕組み



マイクロサービスの形で管理パネルを備えたサイトを立ち上げました。これは、ランブラー/キャッシャーの販売とショーケースを管理するための既存の管理パネル(CMS)の新しいセクションです。プロジェクト内でローカルに新しいアプリケーションを作成し、それに必要なすべてのパラメーターを提供するiOSおよびAndroid用のスクリプトを開発しました。



RabbitMQはメッセージブローカーとして使用され、すべての設定はアーカイブに保存され、RamblerArtifactoryで公開されます。次に、GitLab APIを使用して、モバイルリポジトリでビルドプロセスを開始します。



バックエンド側では、アーカイブは、管理パネルとグラフィックスに入力された情報を含むJSONファイルで形成されます。 Gitlab CIトリガーは、Artifactoryからアーカイブへのリンクを渡すパラメーターでパイプラインを呼び出します。ビルドマシンで構成され、プロジェクトのルートにあるスクリプトは、入力パラメーターリンクを使用して起動されます。



iOS用スクリプト



Rubyスクリプトは、アーカイブを解凍し、プロジェクト全体に必要なデータを送信してから、制御を次のタスクに移します。次のタスクは、変更をコミットし、ポッドを更新し、アセンブリをビルドして、AppStoreに表示します。



Androidスクリプト



Jobaは、必要なjqライブラリとunzipライブラリを取得します。「unzip」ライブラリはアーカイブを解凍し、スクリプトは「jq」を使用してjsonを解析し、「app」モジュールに新しいフォルダを作成して、指定されたアプリケーションの.jksファイルをチェックします。



アプリケーションが新しい場合、リリースAPKがアセンブルされ、スクリプトがそれをfirebaseに送信した後、このファイルが作成されます。これにより、マーケットでアプリケーションが更新されます。次に、タスクは新しい.jksファイルが出現したかどうかを確認し、出現した場合はそれをGitLabにプッシュします。



さらに、実行中のアセンブリの状態を監視し、そのステータスを更新するサービスが展開されたため、プロセスを監視し、新たな問題を制御できます。



実際には、WLアプリケーションの作成の自動化は次のようになります。



  1. / , , , , , .
  2. .
  3. .
  4. (ID , , , ..).
  5. « », .
  6. App Store Google Play CI.








WLアプリケーションの作成を可能な限り自動化しました。以前は、開発プロセス自体に2〜3日かかり、プログラマーのリソースが奪われていましたが、マネージャーは15分ですべてのデータをドライブし、約20分後にアセンブリが自動的に作成され、テストのためにQAに送信されます。私たちのパートナーは、ランブラー/チェックアウトで利用できるすべての機会を手に入れ、時間とリソースを節約し、エラーを最小限に抑えます。



All Articles