GitHub

Ionic/Cordovaアプリの開始

Cordova/Ionicフレームワークを使いクロスプラットフォームアプリを開発することができます。iOSやAndroidのアプリをそれぞれの電子市場に迅速に送ることができるように、Bitriseは、テストの自動化、コード署名、デプロイ手順をサポートします。組織に複数の同時実行性がある場合は、Android/iOSビルドを同時に実行することができます。

プロセス:

Ionic/Cordovaプロジェクトセットアップの前に

bitrise.ioにサインアップして、Bitriseアカウントにアクセスできることを確認してください。 GitホスティングサービスのアカウントにBitriseアカウントを接続する方法は、4通りあります。

BitriseにIonic/Cordovaを追加

  1. bitrise.ioにログインします。
  2. ダッシュボードの+ Add new appをクリックします。
  3. Create new Appページからアプリを追加したいアカウントを選びます。
  4. アプリのプライバシーをprivate、または publicに設定し、Nextをクリックします。
  5. リポジトリをホストするGit hostingサービスを選択し、プロジェクトをホストするあなたのリポジトリを選択します。詳細はconnecting your repositoryを参照してください。
  6. リポジトリアクセスを設定するように求められたら、No, auto-add SSH keyをクリックします。 詳細はSSH keysを参照してください。
  7. プロジェクトの設定を含むブランチの名前(masterなど)を入力し、Nextをクリックします
  8. Bitriseがプロジェクトを検証している間お待ちください。設定ファイルを探し、それらに基づいてアプリを設定します。
  9. Project Build configurationでは、アプリをビルドするプラットフォームを選択できます:
    • iOS
    • Android
    • iOS と Android (Androidビルドが最初にビルドされる

  10. コードがリポジトリにプッシュされたときにBitriseが自動的にビルドを開始できるように、Promptedが表示されたらWebフックに登録します。メインのワークフローでの最初のビルドも開始できます。 また、メッセージをクリックするとビルドページに移動します。最初のビルドではAPKと.ipaは作成されませんが、ビルドのページでプロジェクトのログを確認できます。

    例として、Karma Jasmine Test Runnerステップを含むCordova主要ワークフローを確認してください。

    primary:
    steps:
    - activate-ssh-key@4.0.3:
    run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
    - git-clone@4.0.11: {}
    - script@1.1.5:
    title: Do anything with Script step
    - npm@0.9.1:
    inputs:
    - command: install
    - karma-jasmine-runner@0.9.1: {}
    - deploy-to-bitrise-io@1.3.15: {}
    

他のテストフレームワークを使うのは?

BitriseのスキャナーがJasmin、Karma Jasmineのテスト解決法を知っていることは言及する価値があります。プロジェクトが別のテストフレームワーク/ランナーを使用している場合、スキャナーはテストワークフロー(primaryワークフロー)を作成することはできませんが、代わりにビルドワークフローを作成できます。このワークフローは作成される唯一のワークフローであるため、primaryワークフローと呼びます。

依存関係

アプリのpackage.jsonファイルに記載されているJavascript dependenciesをインストールするには、Run npm commandまたはRun yarn commandのステップを使用できます。

Run npm commandステップは、デフォルトパートのプライマリワークフローとデプロイワークフローによるものです。 Run npm commandステップで、The npm command with arguments to runフィールドがinstallに設定されていることを確認します。

The 'yarn' command to run入力フィールドを空のままにするか、またはinstallに設定します - Run yarn commandステップはどちらかの方法でdependencies(依存関係)をインストールします。

Ionic/Cordovaアプリのテスト

Karma Jasmine Test Runnerまたは Jasmine Test Runner のステップによるユニットテストを実行します。 Cordova / Ionicプロジェクトのpackage.jsonファイルにKarma Jasmineの依存性がある場合は、スキャナーによってそれが検出され、それぞれのテストステップがワークフローに自動的に追加されます。依存性がプロジェクトにない場合は、 Workflow Editor を使用して手動でワークフローにステップの1つを追加できます。Run npm commandまたはRun yarn commandパッケージマネージャーステップの直後にするようにしてください。

コード署名

iOSまたはAndroid用のアプリを作成したい場合は、プラットフォーム-スペシフィックファイルをWorkflow EditorのCode Signingタブにアップロードする必要があります。プラットフォームのすべてのコード署名ファイルをアップロードし、両方のプラットフォーム用にビルドを作成することもできます。(すべて1ページにまとめられています。)

iOSプロジェクトに署名

iOSプロジェクトに署名するには、Cordova ArchiveIonic Archiveのステップで設定したディストリビューションとコード署名の種類に応じて、コード署名証明書とプロビジョニングプロファイルをアップロードする必要があります。早速始めよう!

  1. cordova platform add iosまたは ionic cordova platform add iosによる、IonicまたはCordovaプロジェクトからネイティブXcodeプロジェクトをローカルに作成します。
  2. コード署名ファイルを収集するには、codesigndocツールを使用します。
  3. ファイルを bitrise.ioにアップロードします。

    WebサイトのUIまたはcodesigndocツールのどちらでも実行できます。

    Screenshot

  4. ステップで仮想マシンに証明書をダウンロードしてインストールできるように、ワークフローのCertificate and profile installerステップを確認します。
  5. ワークフローにGenerate cordova build configurationステップを追加します。 (このステップでは、次のステップに必要なすべての設定、Cordova ArchiveまたはIonic Archiveを実行します。)Certificate and profile installerステップの後に行います。
  6. ステップに必要な入力を記入してください。Code Signing IdentityProvisioning Profileはどちらも、以下のようにマークがされていなくても、iOSアプリの必須入力です。

Androidプロジェクトに署名

  1. 署名済みのAndroidプロジェクトの場合は、Workflow EditorのCode Signingタブへ。
  2. ANDROID KEYSTORE FILEセクションのUpload file項目でkeystoreファイルをクリックまたはドラッグ&ドロップします。
  3. 3つの入力項目に記入します:
    • keystore password
    • keystore alias
    • private key password

  4. Save metadataをクリックします。 Bitriseはkeystoreファイルをアップロードし、環境変数(BITRISEIO_ANDROID_KEYSTORE_URL)をバリューとしてファイルのダウンロードURL(時間制限のある、読み取り専用のダウンロードURL)に対応させます。このURLを使用して、次のビルド中にkeystoreファイルをダウンロードできます。このステップでは、後のステップで使用される以下のの環境変数が作成されます。
    • $BITRISEIO_ANDROID_KEYSTORE_URL
    • BITRISEIO_ANDROID_KEYSTORE_PASSWORD
    • $BITRISEIO_ANDROID_KEYSTORE_ALIAS
    • $BITRISEIO_ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD
  5. コードがない場合は、Generate cordova build configurationステップをワークフローに追加します。
  6. keystoreファイルをCode Signingタブにアップロードし、ステップ2と3でメタデータを追加したので、Androidの必要入力項目(KeystoreKeystore passwordAlias ,Password)はすでに入力されています。これらの情報に基づきGenerate cordova build configurationで便利に使用できる環境変数が作成されます。

Ionic/Cordovaアプリをデプロイ

アプリをデプロイする場所により構成はそれぞれ異なります。

アプリを電子市場にデプロイする前に、コード署名された.ipaやAPKを作成する必要があるので、以下のステップを行ってください。

  1. Cordova archiveまたはIonic archiveステップをワークフローに追加します。 (iOSとAndroidの両方を1つのプロジェクトで構築している場合、どちらかのアプリが失敗すると、Cordova Archive/Ionic Archiveステップ全体が失敗します。)
  2. 必要な情報を入力します:

デプロイの準備が完了!ワークフローにデプロイステップを追加して、iOSおよびAndroidプロジェクトを公開する方法を見てみましょう!

App Store Connectにデプロイ

  1. Cordova Archive もしくは Ionic Archiveステップの後、できればDeploy to Bitrise.io - Apps, Logs, Artifactsステップの前に、Deploy to iTunes Connect - Application Loaderステップをワークフローに追加します
  2. Deploy to iTunes Connect - Application LoaderステップでAppleのアカウント情報を入力します。

ステップに必要なもの:

Google Play Storeにデプロイ

開始する前に:

  1. Bitrise Dashboardで、Code Signingタブに移動し、サービスアカウントのJSONキーをGENERIC FILE STORAGEにアップロードします。
  2. アップロードしたファイルのURLのあるenvキーをコピーします。例えば、BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL
  3. デプロイワークフローのCordova ArchiveまたはIonic Archiveステップの後にGoogle Play Deployステップを追加します。
  4. 入力欄へ記入:
    • Service Account JSON key file path:このフィールドはリモートURLを受け入れることができるため、アップロードしたサービスアカウントのJSONキーを含む環境変数を指定すします。

      例: $BITRISEIO_SERVICE_ACCOUNT_JSON_KEY_URL

    • Package name:Androidアプリのパッケージ名
    • Track:APKをデプロイするトラック(alpha/beta/rollout/production)

Bitriseにデプロイ

ワークフローにDeploy to Bitrise.io - Apps, Logs, Artifactsステップを追加します。すべてのビルドアーティファクトが、ビルドのページのAPPS & ARTIFACTSタブにアップロードされます。

ビルドのURLを使用して、作成された.ipaまたはAPKをチームメンバーと共有できます。また、 .ipa、もしくはAPKが構築されたことをユーザーグループまたは個々のユーザーに通知することもできます。

  1. Deploy to bitrise.io - Apps, Logs, Artifactsステップに進みます。
  2. Notify: User Rolesでロールを追加するとロールを与えられたユーザーにのみ通知がいきます。または、Notify: Emailsに通知したいユーザーのメールアドレスをsecret env varsとして設定し入力します。APPS & ARTIFACTSタブで作成されたAPK / .ipaファイルの横にあるのeyeアイコンをクリックすると、詳細をNotificationsで変更することもできます。

ビルドを始めよう!アプリが正しく設定されていれば、選択した電子市場にデプロイされていることがわかります!