--- title: "CircleCI integration" slug: "circleci-integration" updated: 2024-07-02T06:38:46Z published: 2024-07-02T06:38:46Z canonical: "help.autify.com/circleci-integration" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.autify.com/llms.txt > Use this file to discover all available pages before exploring further. # CircleCI 連携 Autify ではお手持ちのCircleCI workflow から簡単にビルドをアップロードしたりテストプランを実行できる公式のCircleCI Orb を提供しています。 ## はじめてみよう このドキュメントでは、皆さんのGit リポジトリでどのようにAutify のCircleCI 連携を利用するかを順に説明していきます。 ### 前提条件 まず、すでにCircleCI workflow を使ってアプリケーションのビルドを行なっているものとします。そのビルドjob のすぐ後にAutify のテストを実行するjob を追加することで、新しくビルドされたアプリケーションがエンドツーエンドのユーザ体験を損ねていないことを確認できるようにします。 次に、[Autify NoCode Mobile](https://mobile-app.autify.com) でテストプランを作成する必要があります。テストプランまたはシナリオのURL (例: `https://mobile-app.autify.com/projects/AAA/scenarios/BBB`) をメモしておいてください、後ほど利用します。 さらに、[パーソナルアクセストークンを生成する](https://help.autify.com/mobile/docs/ja/api-integration#api-%E8%AA%8D%E8%A8%BC%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E7%94%9F%E6%88%90%E6%96%B9%E6%B3%95)必要があります。後ほどEnvironment Variables (環境変数) に保存するために、生成されたトークンはどこかにメモしておいて下さい。 *注: パーソナルアクセストークンは1人のユーザに紐づいてしまうので、CI/CD 連携のために組織にマシンユーザを作って、そのパーソナルアクセストークンを使うことをお勧めします。* ### パーソナルアクセストークンをEnvironment Variables に保存 上で生成したパーソナルアクセストークンを[CircleCI のドキュメント](https://circleci.com/docs/ja/env-vars)に従って、Environment Variables (環境変数) に保存します。名前は任意ですが、`AUTIFY_MOBILE_ACCESS_TOKEN` と命名した場合はそれがデフォルトの名前なので後ほどこの名前を指定する必要がありません。ここではそうしたと仮定しておきます。 ### Autify NoCode Mobileにビルドをアップロードしたりテストを実行するCircleCI job を追加 それでは、お手持ちのCircleCI workflow に新しいjob を追加しましょう。以下の例を参考にしてください。`autify-test-url` の値は、上でメモしたURL になります。 - [autify/autify-mobile CircleCI Orb](https://circleci.com/developer/orbs/orb/autify/autify-mobile) --- 新しいビルドファイルをアップロードしてテストを開始する (テストの完了は待たない): ``` orbs: android: circleci/android@2.0 autify-mobile: autify/autify-mobile@3 jobs: # Example build jobs. Needs to persist the build file to workspace. build-android: executor: name: android/android-machine steps: - ... - run: ./gradlew assembleRelease - persist_to_workspace: paths: - android-release.apk root: app/build/outputs/apk/release build-ios: macos: xcode: 13.4.1 steps: - ... - run: xcodebuild -configuration Debug -target hello-world -arch x86_64 -sdk iphonesimulator - persist_to_workspace: paths: - hello-world.app root: build/Debug-iphonesimulator workflows: test-run-andriod: jobs: - build-android - autify-mobile/test-run: requires: - build-android autify-test-url: 'https://mobile-app.autify.com/projects/AAA/test_plans/BBB' build-path: android-release.apk test-run-ios: jobs: - build-ios - autify-mobile/test-run: requires: - build-ios autify-test-url: 'https://mobile-app.autify.com/projects/AAA/test_plans/BBB' build-path: hello-world.app ``` もしテストが完了するか、タイムアウトするまで待つ場合: ``` jobs: - autify-mobile/test-run: ... wait: true timeout: 300 ``` **警告: この設定はテスト完了を待っている間もCircleCI build の時間を消費します。タイムアウトを延長するときは注意してください。** 新しいビルドファイルをアップロードするだけ (`workspace-id` は上でメモしたURL の`/projects/` のすぐ後ろのid): ``` # Android jobs: - build-android - autify-mobile/build-upload: requires: - build-android build-path: android-release.apk workspace-id: AAA ## iOS jobs: - build-ios - autify-mobile/build-upload: requires: - build-ios build-path: hello-world.app workspace-id: AAA ``` ## まとめ [Autify のCircleCI Orb](https://circleci.com/developer/orbs/orb/autify/autify-mobile) を使うことで、ビルド後にテストプランの実行を自動化できるので、無駄な時間を使うことなくリグレッションをすぐに検知して適切な行動を取ることができるようになります。