日本語

AutoShip概要

AutoShipはセキュリティ修正を提供するので、機能開発に集中できます。

AutoFix は壊れないプルリクエストを作成するよう最適化されていますが、意図しない実行時の影響がないことを確認するために、本番相当の環境で変更をテストする必要があります。そのため、AutoFix によって作成されたプルリクエストをリリースするにはかなりの時間がかかることがあります。必要な作業は次のとおりです:

  1. CI/CD の結果を確認する
  2. テスト環境にデプロイする
  3. テスト環境で新しいエラー/リグレッションがないことを確認する
  4. 何も壊れていないことを確認するテストを実施する

これらのテストが完了したら、プルリクエストは安全に本番へリリースできます。

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.253
  • 52.51.229.214
  • 52.214.244.18
  • 18.202.209.180
  • 52.50.198.227
  • 52.51.98.186

Smoke Testing の IP アドレスは次で確認できます こちら.

試してみましょう!

指定したラベル(例: autoship)をプルリクエストに追加します。

  • Aikido AutoShip アプリが GitHub のチェックに表示されます
  • Slack メッセージが投稿されます