JenkinsからBitriseへの移行

概要

JenkinsからBitriseに切り替えると、すぐに使える機能を提供するクラウドベースのモバイルファーストCI/CDプラットフォームを快適に使用できるようになります。

あなたがから切り替えることを探していたなら ジェンキンス Bitriseを利用して、モバイルCI / CDフローを高速化し、専任の人員を削減します。もう探す必要はありません。このガイドでは、最も重要なBitriseの機能と、Jenkinsの世界からBitriseにすばやく慣れるための方法を紹介します。

なぜわざわざ移行するのですか?

JenkinsはセルフホストのCIサーバーであり、ビルドを実行する前にほとんどの機能を手動でインストールして保守する必要があります。また、定期的な保守には専用の人員が必要です。 Bitriseに切り替えると、クラウドベースのモバイルファーストCI / CDプラットフォームを快適に使用できるようになります。このプラットフォームは、1つのプラットフォームですべてのモバイル開発ニーズに対応するすぐに使える機能を提供します。これは、次のことを意味します。

  • 何もダウンロードする必要はありません。

  • オンプレミスサーバーやプラグインは必要ありません。

  • インフラストラクチャ、ツール、仮想化について心配する必要はありません。

Bitriseは上記のすべてを処理します。自動化されたステップの膨大な配列があります、 API、 CLI、 最新のスタック ワークフローエディタと呼ばれる非常に直感的なGUIを備えたアドオンは、すべて指先で利用できます。

Bitriseで自動化されたモバイル開発の世界をチェックしてください!

Bitriseがトップ企業の移行をどのように支援したか

クイックスタートガイド

このクイックスタートガイドは、最小限の設定でBitriseで最初のビルドを開始するのに役立ちます。

  1. Bitriseにサインアップする まだアカウントをお持ちでない場合。

  2. リポジトリを接続し、任意のプロジェクトで自動的に構成された標準ワークフローを実行します。

  3. 生成されたYMLを確認したら、必要な変更を加えます。カスタムコードを選択する場合は、それを スクリプトステップ、最初のビルドを実行します。または私たちのステップを見つける ステップライブラリ Jenkinsfileの動作を複製します。

  4. 新しいワークフローの最初のグリーンビルドに到達したら、構成して他のジョブをセットアップします 自動トリガー また スケジュールされたビルド

  5. 次のような手順でワークフローを最適化する Bitrise.ioキャッシュプルBitrise.ioキャッシュプッシュ

  6. 助けが必要? お問い合わせ

JenkinsとBitriseの主な違いと、Bitriseがモバイル開発プロセスをどのように強化するかに興味がある場合は、以下のガイドに進んでください。

JenkinsとBitriseでのビルドの管理

Bitriseでのビルドは、アプリで指定されたプロセスです。 ワークフロー。一連の ステップ、ワークフローで定義され、によって実行されます Bitrise CLI クリーンな仮想マシン上またはローカルのマシン上。 Bitriseでアプリのビルドを確認できます ダッシュボード またはあなたはあなたの分析することができます ビルドログ アプリ自体で ビルド ページ。

トリガーはJenkinsとBitriseに基づいています

このセクションでは、Bitriseでビルドをトリガーする方法について説明します。

  • NS 今すぐビルド Jenkinsの関数は 手動でビルドを開始する:ビルドページのボタンをクリックして、新しいビルドを開始するか、 ビルドを開始/スケジュールするための高度な構成オプション

  • NS 定期的に構築する Jenkinsの機能は ビルドのスケジューリング Bitriseで機能します。 Bitriseの大きな利点は、設定する必要がないことです。 cron Jenkinsの場合と同様に、特定の時間をスケジュールする作業。代わりに、タイムラインから日を選択し、時間と月を入力します。混乱はありません cron もう表現!

  • コードプッシュ、プルリクエスト、GitタグなどのGit関連のイベントについては、次のことができます。 トリガーを構成する Bitriseでビルドを自動的に開始します。

  • NS 他のプロジェクトの後に構築する Jenkinsの機能は ワークフローを連鎖させる ワークフローが連続して実行されるBitriseで。 Bitriseでワークフローをチェーンするのは驚くほど簡単です。

  • 他のリモートシステムでビルドをトリガーできます。 Webhook。 GitHub、Gitlab、Bitbucket、Gogs、Slack、Visual Studio、Assembla、Deveoと統合されています。

  • あなたもすることができます ビルドステータスレポートをプッシュバック Gitプロバイダー(GitHub / GitLab / Bitbucket)に送信します。

Bitriseの環境変数と秘密

環境変数 (キーと値のペア)は、アプリ、ワークフロー、およびステップレベルで定義できます。

Env Varsを使用すると、多くの興味深いことができます。

  • それらを公開し、別のステップで再利用します。

  • EnvVarを別のキーにコピーします。

  • 環境変数を上書きします。

  • カスタムEnvVarをビルドに追加して、ビルドをパラメーター化します。

  • ワークフロー固有の環境変数を設定します 環境変数 タブをクリックして、その特定のワークフローでのみ使用可能なEnv変数を使用してワークフローを実行します。

シークレットは環境変数の一種ですが、特別なものです。機密情報を暗号化された形式で非表示にするため、プライベート入力がビルドログや bitrise.yml。シークレット環境変数、または略してシークレットは、ワークフローエディターの[シークレット]タブでキーと変数を追加することで設定できます。これもBitriseの組み込み機能であり、次のことを保証します。

  • あなたの秘密はに表示されていません bitrise.yml

  • あなたの秘密は暗号化されて保存されます。

  • シークレットを保護することで、UIでシークレットが公開されないようにすることができます。

  • プルリクエストを使用すると、誰でも回避策を実行してシークレットの値をログに記録できる可能性があるため、PRでシークレットを公開しないことをお勧めします。

キャッシュを構築する

Bitriseのすべてのビルドはクリーンな仮想マシンで実行されますが、すべてを最初から行う必要があるわけではありません- 重要なファイルの内容をキャッシュして、ビルド間で保存できます。

JenkinsプラグインとBitriseステップ

ステップは、Jenkinsステップと同じようにBitriseで事前定義されたタスクですが、Bitriseステップは直感的なUIで簡単に構成できます。また、リポジトリから独自のステップを取得することもできます。ステップタスクを定義する入力とパラメーターを構成し、ステップが生成する出力を表示/再利用できます。出力を再利用するということは、同じワークフロー内の別のステップがその出力を入力の1つの値として使用できることを意味します。

Jenkinsはそれ自体が継続的インテグレーションツールであるため、プラグインの助けを借りて他のサービスと統合します。 Jenkinsユーザーは、プラグインを一元化された場所で管理する必要があります。 プラグインを管理する、それらをグローバルに(Jenkinsサーバーに)インストールしてから、特定のプロジェクトで使用します。 Jenkinsが新しいプラグインバージョンを通知した場合、プラグインを更新するにはサーバーを再起動する必要があるため、Jenkins管理者はビルドを実行しているかどうかをチームに再確認する必要があります。 Jenkinsプラグインでは、最新バージョンしか利用できないため、古いバージョンに戻すことはできません。ただし、Bitriseでは、最初にステップをインストールする必要はありません。Bitriseワークフローでいつでもステップを追加または削除でき、プロジェクトの実行中のビルドがブロックされないためです。必要に応じて、いつでも前のステップバージョンに戻すことができます。

さらに:でワークフローを編集する場合 ワークフローエディター、で探している機能やプラットフォームに基づいて、ステップを簡単に検索できます。 ステップライブラリ すぐにワークフローに追加します。ワークフローを設定する前にインストールする必要はありません。

独自のカスタムステップを作成してリポジトリに保存し、ワークフローのURLで参照することもできます。

ステップジョリージョーカー:スクリプトステップ

ワークフローで実行したいカスタムスクリプトはありますか?を選択 脚本 ステップライブラリからステップし、カスタムコードをに追加します スクリプトの内容 入力。

私たちのステップを発見する 統合 ワークフローを編集するときのページまたは右。

steps-1.png

ステップで他に何ができるかを学びましょう:

Jenkinsでfastlaneを使用していますか?

ファストレーンレーンを簡単に配置して、ビットライズでも機能させることができます。あなたがしなければならないのはBitriseのを追加することです 追い越し車線 ワークフローにステップし、レーン名をステップに追加します。ビルドを開始すると、レーンはBitriseで実行されます。

Jenkinsパイプライン-Bitriseワークフロー

Jenkinsパイプラインは Bitriseワークフローただし、Bitriseワークフローは管理がはるかに簡単です。既存のワークフローに基づいて新しいワークフローをすばやく作成したり、1つのビルドで複数のワークフローをチェーンしたり、不要になったワークフローを削除したりできます。

ビットライズ ワークフロー テスト、コードサイン、APK / ipaのビルド、デプロイなどの一連のステップです。 Bitriseにアプリを追加すると、プロジェクトスキャナーの結果に基づいて作成されたプライマリワークフローが自動的に開始/トリガーされます。

特定のプロジェクトに対して複数のワークフローを持つことができます。例えば:

  • PRイベントについては、トリガーされるとすぐに実行され、スモークテストなどの基本的なテストのみを実行するワークフローを作成します。

  • すべてのテストを実行するより充実したワークフローの場合は、別のワークフローを作成して一晩実行するか、6/12/24時間間隔でスケジュールすることをお勧めします。

NS ワークフローエディター ワークフローを構成するための主な場所です。ジェンキンス ステージ メインワークフロー内で一緒にチェーンされた複数のビットライズワークフローに相当します。 Bitriseでは、ワークフローエディターを使用すると、おもちゃの列車を次々にチェーンするようにワークフローをチェーンできます。

ワークフローエディターには、モバイル開発を支援するために組み込まれている他の強力な機能があります。

  • コード署名:ワークフローで使用されるすべてのコード署名ファイルを保存および管理するためのワンストップショップ。繰り返しますが、Jenkinsのように最初にコード署名ツールをインストールする必要はありません。ここにもカスタムファイルを保存できます( 一般的なファイルストレージ セクション)これ 汎用ファイルストレージ ステップはダウンロードできます。

  • 秘密:アプリの秘密の環境変数を確認するか、新しい変数を追加してください。

  • 環境変数:Bitriseの秘密とEnvVarの混乱はありません。それらは別々のタブにきちんと整理されているので、どこが何であるかがわかります。ここにAppEnvVarsまたはワークフロー固有のEnvVarsを追加します。シークレットを$でEnvVarsとして参照することもできます。

  • トリガー:トリガーを構成できます。コードプッシュイベント、プルリクエスト、またはタグをすべて設定して、Bitriseでビルドを自動的に開始できます。

  • スタック:アプリのデフォルトスタックを確認するか、ドロップダウンメニューから新しいスタックを選択するか、ワークフローの1つに特定のスタックを選択します。

JenkinsとBitriseのダッシュボード

これは、最初のビルドを開始すると自分自身を見つけるメインのランディングページです。 Bitriseをさらに使い始めると、キューに入れられた最新のビルドとインストールされたプロジェクトのリストが、自分のプロファイルとメンバーのワークスペースとともにすべて1つのページに表示されます。

NS 最新のビルド Bitriseダッシュボードのタブには、最近のすべてのビルドが同様に表示されます。 ビルド履歴 Jenkinsの機能。成功、中止、失敗、実行中など、任意のステータスでフィルタリングできますが、各ビルドにはとにかくステータスが表示されます。

Jenkinsでは、ビルドステータスは ビルドエグゼキュータステータス または青い海で ダッシュボード。 Bitriseを使用すると、最初からユーザーフレンドリーなグラフィカルインターフェイスが得られますが、Jenkinsでは、最初にプラグインをインストールする必要があります。 Bitriseビルドステータスは両方に表示されます ダッシュボード、および ビルド アプリのページ。

ビルドキュー ジェンキンスでは キューに入れられたビルド Bitriseで。ビルドをスケジュールして、 高度 のオプション ビルドのスケジューリング 特徴。

dashboard.png

ダッシュボードの右側で、すべてのアプリを下に表示できます APPS

Bitriseに新しいアプリを追加する

新商品 ジェンキンスでは 新しいアプリフローの追加 Bitriseでも WebUI上 また CLIから。これは高度に自動化されたフローであり、最小限の構成が必要であり、文字通り1分以内に新しいビルドが開始されます。私たちのフローでは、プライバシーの設定、リポジトリの接続、リポジトリアクセスの設定、ブランチの選択、アプリの構成、ビルド構成の設定、 Webhookの構成

BitriseのWebhook

BitriseはWebhookを多用しており、アプリをBitriseに接続するときにクリックするだけで有効にできます。初期セットアップ中にWebhookを追加することはすべて理にかなっており、アプリをすばやく高速化しようとするときにこの機能を検索する必要はありません。

Adding a GitHub webhook

つまり、Webhookには次の2つのタイプがあります。

  • Gitサービスプロバイダーに登録されている着信Webhookは、Bitriseでビルドを自動的にトリガーするために使用されます。

  • 送信Webhookは、ビルドイベントのレポートをSlackなどの他のサービスに送信するために使用されます。それらはウェブサイトまたは経由で追加することができます API

Jenkinsfile-Bitrise YAML

Jenkins PipelineはGroovyコードを使用し、Bitriseはより高度に構造化されたYAML形式を使用します。すべてのワークフローは、 bitrise.yml YAML形式のファイル。クリックして編集できます。 bitrise.yml ワークフローエディタのタブ。

あなたは保存することができます bitrise.yml いずれかのアプリのファイル bitrise.io また リポジトリ内。心配しないでください、あなたの秘密(例えば、資格情報とID)は私たちと一緒に安全です。

現在のをダウンロードすることもできます bitrise.yml アプリの構成を行い、 Bitrise CLI

Jenkinsfile-Bitriseymlファイルの比較

JenkinsでJenkinsfile(パイプラインプロジェクト)を使用していて、Bitriseへの切り替えを検討している場合は、JenkinsfileステージをBitriseステップと簡単に一致させることができます。昔ながらのFreestyleプロジェクトを使用している場合は、対応するBitriseStepまたはBitrise関数を使用して構成の設定をマップする必要があります。たとえば、 建てる 次のようなBitriseビルドステップを含むFreestyleプロジェクトのセクション Androidビルド ステップ、またはマップ ビルドトリガー Jenkinsのセクション トリガー Bitriseの機能。必ずチェックしてください ステップライブラリ より多くのインスピレーションのために。

Bitriseサンプルアプリとそのbitrise.ymlファイル

ここでは、iOS、Android、およびクロスプラットフォームのサンプルプロジェクトを見つけることができます。彼らをチェックしてください bitrise.yml それらの設定を理解するためのファイル。最初のBitriseプロジェクトを作成する際の出発点として、これらを使用できることを願っています。

JenkinsからBitriseへのAndroidアプリの移行:ステップバイステップガイド

私たちをチェックしてください MoatazNabilによるブログ投稿 AndroidプロジェクトをJenkinsからBitriseに移行する方法について。

Jenkinsのマスターとエージェント-ビットライズスタック

スタックは、ビルドの実行に使用する仮想マシンのタイプです。たとえば、ネイティブiOSアプリの場合、最適なスタックはXcodeスタックの1つです。スタックには、必要なすべてのツールがプリインストールされており、すべてのニーズに対応できるように定期的に更新されます。このようにして、特定のプラットフォームでビルドを実行するために、マスターインスタンスとエージェントインスタンスを維持したり、Groovyコードにノードマシンを追加したりする必要はありません。

アプリをBitriseに追加すると、プロジェクトセレクターがプロジェクトのタイプを自動的に検出し、そのプラットフォームタイプに基づいて、デフォルトのスタックを追加します。最初のビルドはこのスタックで実行されます。このスタックは、必要なすべてのツールがプリインストールされた仮想マシンです。別のスタックを使用したい場合は、から選択するだけです。 デフォルトのスタック のドロップダウンメニュー スタック タブ。クリックすると 詳しくは リンクをクリックすると、プレインストールされているツールとそのバージョンを確認できます。

stacks-1.png

公式リリースの直後に最新のXcodeバージョンをサポートします。

私たちの中で システムレポート 各スタックにインストールされているツールとそのバージョンを確認できます。

私たちの詳細 スタック更新ポリシー

JenkinsとBitriseの人事管理

あなたが持っているもの Jenkinsのページは、Bitriseの2つの場所にあります(チームがあるか、 ワークスペース 設定)。

  • あなたはであなたのチームメンバーを見ることができます チーム アプリのタブ。

  • クリックするとワークスペースのメンバーが表示されます アカウント設定、次にワークスペースを選択し、 左側のタブ。

ワークスペースの目的は、Bitriseでさまざまなアプリで作業している複数の人を簡単に管理できるようにすることです。ワークスペースは無制限の数のアプリを所有でき、ワークスペースの所有者はワークスペースのメンバーを割り当てて、適切と思われるさまざまなアプリで作業することができます。

NS チーム ビットライズでは、同じアプリで作業するすべてのユーザーを意味します。ユーザーはアプリのチームを構成し、アプリで管理できます。 チーム タブ。

グループ タブでは、削除、グループへの新しいメンバーの追加、アプリへのグループの割り当て、グループの名前変更などのワークスペースメンバーを管理できます。に タブを使用すると、ワークスペースに既に追加されているユーザーを確認でき、必要に応じて、ワークスペースのすべてのグループからメンバーを削除できます。

ワークスペースはグループで構成されます。ワークスペースの所有者は、グループを作成および管理できます。特定のグループをアプリでの作業に割り当てることができます。同じグループのすべてのメンバーは、アプリへの同じレベルのアクセス権を持ちます。

Bitriseでの統合SSO管理

JenkinsではSSO管理用の認証プラグインをインストールする必要がありますが、Bitriseではそれは 速度計画。そのような計画のあるワークスペース SAMLSSOを設定できます Bitriseのワークスペースへの単一のゲートウェイとして。ユーザー名とクレデンシャルを覚える必要はもうありません!ワークスペースの所有者が行う必要があるのは、SAMLSSOプロバイダーでSAMLSSOアプリとしてBitriseをセットアップし、WorkspaceメンバーをBitriseOrgに招待することだけです。手順をガイドするために、さまざまなSAMLSSOプロバイダーへの特定のガイドがあります。

6165411195831.jpg