GitLab CI/CD 連携
  • 12 Aug 2022
  • 1 分で読めます
  • 投稿者
  • ダーク
    ライト

GitLab CI/CD 連携

  • ダーク
    ライト

Article Summary

Autify ではお手持ちのGitLab CI/CD workflow から簡単にテストプランやシナリオを実行できる公式の手法を提供しています。

はじめてみよう

このドキュメントでは、皆さんのGitLab リポジトリでどのようにGitLab CI/CD 連携を利用するかを順に説明していきます。

前提条件

まず、すでにGitLab CI/CD workflow を使ってステージングやプロダクション等へのソフトウェアのデプロイを行なっているものとします。そのデプロイjob のすぐ後にAutify のテストを実行するjob を追加することで、新しくデプロイされたソフトウェアがエンドツーエンドのユーザ体験を損ねていないことを確認できるようにします。

次に、Autify for Web でテストプランかテストシナリオを作成する必要があります。テストシナリオは、そのGitLab CI/CD workflow でソフトウェアがデプロイされるウェブサイトに対してレコーディングすることになります。テストプランまたはシナリオのURL (例: https://app.autify.com/projects/00/scenarios/000) をメモしておいてください、後ほど利用します。

さらに、パーソナルアクセストークンを生成する必要があります。後ほどGitLab CI/CD variables に保存するために、生成されたトークンはどこかにメモしておいて下さい。

注: パーソナルアクセストークンは1人のユーザに紐づいてしまうので、CI/CD 連携のために組織にマシンユーザを作って、そのパーソナルアクセストークンを使うことをお勧めします。

パーソナルアクセストークンをGitLab CI/CD variables に保存

上で生成したパーソナルアクセストークンをGitLabのドキュメントに従って、Custon CI/CD variables としてVariables に保存します。(project またはgroup に保存します。) もしprotected でないbranch/tag に対してAutify のjob を実行したければ、"Protect variable" の選択を解除します。万が一トークンの値がログに曝露しないように、"Mast variable" を選択しておくことをお勧めします。

この値は絶対に.gitlab-ci.yml に直接保存してはいけません。平文で読むことが可能になってしまいます。

Variable のkey は任意ですが、AUTIFY_WEB_ACCESS_TOKEN と命名した場合はそれがAutify CLI が読み込むデフォルトの変数なので、後ほどこのkey を指定する必要がありあせん。ここではそうしたと仮定しておきます。

Autify for Web を実行するGitLab CI/CD job を追加

それでは、お手持ちのGitLab CI/CD workflow に新しいjob を追加しましょう。お手持ちの.gitlab-ci.yml を開き、以下の例を参考にしてください。URL の値(https://app.autify.com/projects/00/scenarios/000)は上でメモしたURL になります。


シンプルにテストを開始してstep を終了 (テストの完了は待たない):

autify-test-job:
  stage: <YOUR_STAGE>
  before_script:
    - curl https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-standalone.sh | sh
  script:
    - autify web test run https://app.autify.com/projects/00/scenarios/000

テストを開始して、それが完了するかタイムアウトするまで待つ:

autify-test-job:
  stage: <YOUR_STAGE>
  before_script:
    - curl https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-standalone.sh | sh
  script:
    - autify web test run https://app.autify.com/projects/00/scenarios/000 --wait --timeout 300

警告: この設定はテスト完了を待っている間もGitLab CI/CD minites を消費します。タイムアウトを延長するときは注意してください。

--url-replacements を使ってテストプラン又はシナリオを別のURL に対して開始する:

autify-test-job:
  stage: <YOUR_STAGE>
  before_script:
    - curl https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-standalone.sh | sh
  script:
    - autify web test run https://app.autify.com/projects/00/scenarios/000 --url-replacements http://example.com=http://example.net

--url-replacements はステージングのウェブサイトに対してプロダクションのウェブサイトで記録したテストシナリオを実行したい時などに有効です。

まとめ

Autify のGitLab CI/CD 連携を使うことで、デプロイ後にテストプランやシナリオの実行を自動化できるので、無駄な時間を使うことなくリグレッションをすぐに検知して適切な行動を取ることができるようになります。


この記事は役に立ちましたか?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.