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

Jenkins 통합

  • 어두운

기사 요약

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

Autify는 공식 Jenkins 플러그인을 제공하여 Jenkins 워크플로에서 테스트 계획 또는 테스트 시나리오를 쉽게 실행할 수 있습니다.

시작하기

이 문서에서는 Autify Jenkins 플러그인 사용 방법을 단계별로 설명합니다.

전제 조건

먼저, 스테이징, 프로덕션 등 어딘가에 소프트웨어를 배포할 Jenkins 프로젝트 또는 파이프라인이 이미 있다고 가정합니다. 배포 단계 바로 뒤에 Autify 테스트 단계를 추가하여 새로 배포된 소프트웨어가 엔드투엔드 경험을 손상시키지 않는지 확인합니다.

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

또한 웹용 Autify의 개인 액세스 토큰 만들기를 해야 합니다. 생성된 토큰을 어딘가에 메모해 두면 나중에 Jenkins Secrets에 값을 저장할 수 있습니다.

개인 액세스 토큰

개인 액세스 토큰은 단일 사용자와 연결되어 있으므로 조직에서 컴퓨터 사용자를 만들고 해당 개인 액세스 토큰을 CI/CD 통합에 사용하는 것이 좋습니다.

플러그인 설치

Autify 플러그인 페이지를 열고 오른쪽 상단의 "설치 방법"을 클릭합니다. 아래와 같은 설치 옵션이 표시됩니다:

Screen Shot 2022-08-12 at 9.46.25 AM.png

젠킨스 시크릿에 개인 액세스 토큰 저장하기

위에서 생성한 개인 액세스 토큰을 Jenkins의 문서에 따라 Secrets에 저장하세요. "종류"에는 "비밀 텍스트" 를 사용하고 임의의 "아이디"를 지정할 수 있습니다. 여기서는 autifyWebAccessToken으로 이름을 지정했다고 가정합니다:

Screen Shot 2022-08-08 at 5.05.04 PM.png

웹용 Autify를 실행하기 위한 빌드 단계 추가하기

마지막으로 기존 Jenkins 프로젝트 또는 파이프라인에 새 단계를 추가해 보겠습니다.

젠킨스 프로젝트

프로젝트의 구성으로 이동하여 '빌드' 아래의 '빌드 단계 추가'를 클릭하고 '웹용 Autify에서 테스트 실행'을 선택합니다:

Screen Shot 2022-08-09 at 3.21.56 PM.png

그런 다음 "Autify for Web의 개인 액세스 토큰"의 선택 상자에서 위에서 만든 시크릿의 ID(예: autifyWebAccessToken)를 선택하고 위에서 언급한 URL(예: https://app.autify.com/projects/00/scenarios/000)을 "Autify for Web 테스트 URL"에 붙여넣습니다.

아래 예시를 참조하세요.


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

Screen Shot 2022-08-11 at 4.42.09 PM.png

테스트를 시작하고 테스트가 완료되거나 시간 초과될 때까지 기다리기 - "대기 중?"을 체크합니다:

Screen Shot 2022-08-12 at 12.06.03 AM.png

'URL 대체'를 사용하여 다른 URL에 대한 테스트 계획 또는 시나리오를 시작합니다 - '고급' 및 '추가'를 클릭하여 'URL 대체'를 클릭합니다:

Screen Shot 2022-08-12 at 12.06.38 AM.png

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

젠킨스 파이프라인

젠킨스 파일 또는 파이프라인 구성 페이지를 열고 배포 단계 바로 뒤에 아래 단계를 삽입하세요.


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

autifyWeb 자격증명Id: 'autifyWebAccessToken', autifyUrl: 'https://app.autify.com/projects/00/scenarios/000'

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

autifyWeb 자격증명Id: 'autifyWebAccessToken', 'autifyUrl: 'https://app.autify.com/projects/00/scenarios/000', wait: true

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

autifyWeb 자격증명Id: 'autifyWebAccessToken', autifyUrl: 'https://app.autify.com/projects/00/scenarios/000', urlReplacements: [[patternUrl: 'http://example.com', replacementUrl: 'http://example.net']]

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

(권장하지 않음) "셸 실행" 단계 사용

젠킨스 플러그인을 사용하고 싶지 않거나 문제가 있는 경우 "셸 실행" 단계를 대신 사용할 수 있습니다.

다음은 프로세스를 요약한 것입니다:

  1. 아직 설치하지 않았다면 다음 플러그인을 설치합니다:
  2. 위에서 설명한 대로 개인 액세스 토큰을 저장합니다.
  3. "셸 실행" 빌드 단계를 추가합니다:
    • 젠킨스 프로젝트:
      1. "빌드 환경" > "바인딩"에 시크릿을 추가합니다(AUTIFY_WEB_ACCESS_TOKEN을 "변수"로 사용).
      2. "셸 실행" 빌드 단계를 추가합니다(예:
      curl https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-cicd.bash | bash -xe
      ./autify/bin/autify 웹 테스트 실행 https://app.autify.com/projects/00/scenarios/000
      
    • 젠킨스 파이프라인:
      1. sh단계를withCredentials`로 둘러싸서 추가합니다(예::
      withCredentials([문자열(credentialsId: 'autifyWebAccessToken', 변수: 'AUTIFY_WEB_ACCESS_TOKEN')]) {
          sh '''
          curl https://autify-cli-assets.s3.amazonaws.com/autify-cli/channels/stable/install-cicd.bash | bash -xe
          ./autify/bin/autify 웹 테스트 실행 https://app.autify.com/projects/00/scenarios/000
          '''
      }
      

참고: 셸 단계에서 Autify CLI 명령을 원하는 대로 사용자 지정할 수 있습니다. 자세한 내용은 Autify CLI 문서를 참조하세요.

결론

Autify의 Jenkins 플러그인(또는 셸 단계)을 사용하면 배포 후 테스트 계획이나 시나리오를 자동으로 실행하여 시간 낭비 없이 바로 회귀를 감지하고 적절한 조치를 취할 수 있습니다.


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

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.