AWS CodeBuild 통합
  • 24 Oct 2024
  • 2 읽을 분
  • 기여자
  • 어두운

AWS CodeBuild 통합

  • 어두운

기사 요약

*이 페이지의 일부는 기계 번역되었습니다.

Autify는 테스트 계획 또는 테스트 시나리오를 코드 빌드 프로젝트에서 쉽게 실행할 수 있도록 AWS CodeBuild와 통합하는 공식적인 방법을 제공합니다.

시작하기

이 문서에서는 코드빌드 프로젝트와 AWS 코드빌드 통합을 사용하는 방법을 단계별로 설명합니다.

전제 조건

먼저, 스테이징, 프로덕션 등 어딘가에 소프트웨어를 배포할 CodeBuild 프로젝트가 이미 있다고 가정합니다. 새로 배포된 소프트웨어가 엔드투엔드 환경을 손상시키지 않는지 확인하기 위해 배포 명령 바로 뒤에 Autify 테스트 명령을 추가하겠습니다.

둘째, Autify NoCode Web에서 테스트 계획 또는 테스트 시나리오를 만들어야 합니다. 테스트 시나리오는 코드빌드 프로젝트에서 소프트웨어가 배포되는 대상 웹사이트에 대해 기록해야 합니다. 테스트 계획 또는 시나리오의 URL(예: https://app.autify.com/projects/00/scenarios/000)을 적어두면 나중에 사용할 수 있습니다.

또한 {{변수.제품 이름 웹}}에 대한 개인 액세스 토큰 생성이 필요합니다. 생성된 토큰은 나중에 AWS 시스템 관리자 파라미터 저장소 또는 AWS 시크릿 관리자에 값을 저장할 수 있도록 어딘가에 메모해 두세요.

참고: 개인 액세스 토큰은 단일 사용자와 연결되므로 조직에서 머신 사용자를 생성하고 CI/CD 통합에 해당 개인 액세스 토큰을 사용하는 것이 좋습니다.

개인 액세스 토큰을 AWS 시스템 관리자 파라미터 스토어 또는 AWS 시크릿 매니저에 저장하기

위에서 생성한 개인 액세스 토큰을 동일한 AWS 리전의 AWS 시스템 매니저 파라미터 스토어 또는 AWS 시크릿 매니저에 저장하세요.

파라미터 저장소의 경우, CodeBuild 콘솔, 파라미터 저장소 콘솔 등을 통해 새 파라미터를 생성할 수 있습니다. 매개변수 이름은 임의적이지만 /CodeBuild/AUTIFY_WEB_ACCESS_TOKEN으로 지정한다고 가정합니다. 보안을 유지하려면 SecureString 유형을 사용합니다. AWS의 연습을 참조하세요.

시크릿 매니저의 경우, 시크릿 매니저 콘솔 등을 통해 새 시크릿을 생성할 수 있습니다. 시크릿 이름은 임의로 지정할 수 있지만 '일반 텍스트' 유형으로 /CodeBuild/AUTIFY_WEB_ACCESS_TOKEN으로 지정하는 것을 가정합니다. 참고 자료로 AWS의 연습을 참조하세요.

이 값은 일반 텍스트로 표시되므로 buildspec.yml에 직접 저장하지 마세요.

변수.제품 이름 웹}}을 실행하기 위해 CodeBuild 명령을 추가합니다.

마지막으로 기존 CodeBuild 프로젝트 또는 새 프로젝트에 새 명령을 추가해 보겠습니다. 리포지토리 또는 CodeBuild 콘솔에서 buildspec.yml을 열고 아래 예제를 참조하여 편집합니다. URL 값(https://app.autify.com/projects/00/scenarios/000)은 위에서 언급한 URL이어야 합니다.

Linux 환경 이미지를 사용한다고 가정합니다. 가장 저렴한 aws/codebuild/amazonlinux2-aarch64-*가 가장 좋습니다.

콘솔의 "편집" > "환경" > "추가 구성" 또는 UpdateProject API에서 환경 변수를 구성할 수도 있습니다.


테스트를 시작하고 단계를 완료하기만 하면 됩니다(테스트가 완료될 때까지 기다릴 필요 없음):

phases:
  install:
    commands:
      - curl https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-standalone.sh | sh
  build:
    commands:
      - autify web test run https://app.autify.com/projects/00/scenarios/000
env:
  parameter-store:
    AUTIFY_WEB_ACCESS_TOKEN: "/CodeBuild/AUTIFY_WEB_ACCESS_TOKEN"
  # OR
  secrets-manager:
    AUTIFY_WEB_ACCESS_TOKEN: "/CodeBuild/AUTIFY_WEB_ACCESS_TOKEN"

테스트를 시작하고 테스트가 완료되거나 시간이 초과될 때까지 기다립니다:

phases:
  install:
    commands:
      - curl https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-standalone.sh | sh
  build:
    commands:
      - autify web test run https://app.autify.com/projects/00/scenarios/000 --wait --timeout 300
env:
  parameter-store:
    AUTIFY_WEB_ACCESS_TOKEN: "/CodeBuild/AUTIFY_WEB_ACCESS_TOKEN"
  # OR
  secrets-manager:
    AUTIFY_WEB_ACCESS_TOKEN: "/CodeBuild/AUTIFY_WEB_ACCESS_TOKEN"

주의: 대기하는 동안 CodeBuild 빌드 시간이 소모됩니다. 시간 초과 값을 연장할 때 주의하세요.

다른 URL에 대해 테스트 계획 또는 시나리오를 시작하려면 --url-replacements를 사용하세요:

phases:
  install:
    commands:
      - curl https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-standalone.sh | sh
  build:
    commands:
      - autify web test run https://app.autify.com/projects/00/scenarios/000 --url-replacements http://example.com=http://example.net
env:
  parameter-store:
    AUTIFY_WEB_ACCESS_TOKEN: "/CodeBuild/AUTIFY_WEB_ACCESS_TOKEN"
  # OR
  secrets-manager:
    AUTIFY_WEB_ACCESS_TOKEN: "/CodeBuild/AUTIFY_WEB_ACCESS_TOKEN"

*예를 들어, *--url-replacements는 프로덕션 웹사이트에 대해 기록된 테스트 시나리오를 사용하여 스테이징 웹사이트를 테스트하려는 경우에 유용합니다.

결론

Autify의 AWS CodeBuild 통합을 사용하면 배포 후 테스트 계획 또는 시나리오를 자동으로 실행하여 시간 낭비 없이 회귀를 즉시 감지하고 적절한 조치를 취할 수 있습니다.


이 문서가 도움이 되었습니까?

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.