AutoShip概要
AutoShipはセキュリティ修正を提供するので、機能開発に集中できます。
AutoFix は壊れないプルリクエストを作成するよう最適化されていますが、意図しない実行時の影響がないことを確認するために、本番相当の環境で変更をテストする必要があります。そのため、AutoFix によって作成されたプルリクエストをリリースするにはかなりの時間がかかることがあります。必要な作業は次のとおりです:
- CI/CD の結果を確認する
- テスト環境にデプロイする
- テスト環境で新しいエラー/リグレッションがないことを確認する
- 何も壊れていないことを確認するテストを実施する
これらのテストが完了したら、プルリクエストは安全に本番へリリースできます。
AutoShip は、このプロセスを自動化するために、すべての実行時システムと統合します。AutoShip はプルリクエスト上のラベルを元に開始します。ラベルが追加されると、AutoShip はプルリクエストをリリースする処理を開始します。

はじめに
次へ移動します: AutoShip Aikido の UI で、まずグローバル設定を行います。書き込み権限、トリガーに使うラベル、デプロイ先の環境を指定してください。CI/CD、監視、アラートの統合を接続したら、リポジトリごとに AutoShip を有効化し始めることができます。各リポジトリごとに、使用する CI/CD と、AutoShip がデプロイすべき環境を設定する必要があります。各環境ごとに、リグレッションを検出するための監視情報の場所と、その環境に対してどのようにスモークテストを行うかを指定できます。
グローバル設定
On the AutoShip > 統合ページ AutoShip で使用する統合を設定できます:

AutoShip の書き込み権限
対応: GitHub, GitLab, BitBucket と Azure DevOps.
GitHub では、書き込みアクセスは次を通じて提供されます: Aikido AutoShip GitHub アプリを通じて提供されます。このアプリは Aikdio AutoFix GitHub アプリとは別です。AutoFix を有効にするリポジトリと、AutoShip を有効にするリポジトリを個別に設定できます。
GitLab、BitBucket、Azure DevOps では、リポジトリにアクセスするために AutoShip は個人アクセストークン、サービスアカウントトークン、または同等のものを必要とします。
トリガーラベル
AutoShip は、指定されたラベルを持つプルリクエストでトリガーされます。デフォルトのラベルは autoship.
BitBucket はラベルをサポートしていないため、デフォルトでは AutoShip は次を含むプルリクエストを対象にします: @autoship PR の説明内にあります。ラベルが変更された場合、AutoShip は次でトリガーされます: @<label> .
CI/CD
AutoShip は CI/CD システムに接続して、ビルドが通っているかを確認します。ビルドに問題が発生すると、AutoShip がそれを修正し、修正をプルリクエストのブランチにプッシュします。
グローバル設定で CI/CD システムを接続します。多くの場合、API キーが必要です。システムごとの詳細は CI/CD 各システムの詳細についてはページを参照してください。現在サポートしているものは次のとおりです:
- GitHub Actions
- GitLab CI
- BitBucket Pipelines
- Azure Pipelines
- CircleCI
リポジトリの設定時に、リポジトリごとの追加設定を指定できます。
監視
環境へのデプロイが成功すると、AutoShip は監視システムのデータを確認して、新しいエラーがないことを検証します。リグレッションが検出された場合、AutoShip は変更をロールバックします。
グローバル設定で監視システムを接続します。多くの場合、API キーが必要です。システムごとの詳細は 監視 各システムの詳細についてはページを参照してください。現在サポートしているものは次のとおりです:
- Sentry
- CloudWatch
リポジトリの設定時に、リポジトリごとの追加設定を指定できます。
アラート
AutoShip は進行状況を随時お知らせします。これは Slack を通じて行えます。AutoShip はデプロイごとにスレッドを作成し、進捗メッセージを投稿します:

リポジトリ設定
統合を構成したら、各リポジトリでそれらを有効にする必要があります。

CI/CD
このリポジトリで使用する CI/CD システムを選択してください。追加の設定は不要です。
環境
AutoShip がデプロイする環境を定義します。複数の環境へ順番にデプロイできます。たとえば、本番環境へデプロイしてテストする前に、まずステージング環境へデプロイしてテストできます。
これはリポジトリごとに設定できます。重要なリポジトリでは、本番へデプロイする前にステージング環境へデプロイし、手動で確認することをお勧めします。

環境設定では、次を指定できます:
- AutoShip がこの環境へどのようにデプロイするか。 これらは自由記述の指示です。例:
PR ブランチを staging ブランチにマージする. - AutoShip が機能をどのようにテストするか。 ここでは、どのドメインをテストするか、そのドメインへの認証方法、テスト方法に関する自由記述の指示を指定します。例:
商品をカートに追加し、チェックアウトページに表示されていることを確認する. スモークテストに関する詳細情報。 - AutoShip がリグレッションをどのように検出するか。 このリポジトリと環境で使用される監視システムを AutoShip に指定します。例: staging のサービスに対する CloudWatch ログの場所。
アラート
AutoShip の進行状況について通知を受け取りたい Slack チャンネルを指定します。
AutoShip の IP アドレス
CI/CD および監視ツールが次の IP アドレスからのアクセスを許可していることを確認してください:
18.200.42.25352.51.229.21452.214.244.1818.202.209.18052.50.198.22752.51.98.186
Smoke Testing の IP アドレスは次で確認できます こちら.
試してみましょう!
指定したラベル(例: autoship)をプルリクエストに追加します。
- Aikido AutoShip アプリが GitHub のチェックに表示されます
- Slack メッセージが投稿されます