코드 푸시 또는 풀 요청 시 트리거 필터링 - AWS CodePipeline

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

코드 푸시 또는 풀 요청 시 트리거 필터링

태그나 브랜치 푸시, 특정 파일 경로의 변경, 특정 브랜치에 열린 풀 요청 등과 같은 다양한 Git 이벤트에 대해 파이프라인 실행이 시작되도록 파이프라인 트리거용 필터를 구성할 수 있습니다. AWS CodePipeline 콘솔 또는 의 create-pipelineupdate-pipeline 명령을 사용하여 트리거의 필터를 구성할 수 있습니다. AWS CLI

다음 트리거 유형에 대해 필터를 지정할 수 있습니다.

  • 푸시

    변경 사항이 소스 리포지토리에 푸시되면 푸시 트리거가 파이프라인을 시작합니다. 실행에는 푸시하려는 브랜치 (즉, 대상 브랜치) 의 커밋이 사용됩니다. 브랜치, 파일 경로 또는 Git 태그의 푸시 트리거를 필터링할 수 있습니다.

  • 풀 리퀘스트

    풀 리퀘스트 트리거는 소스 리포지토리에서 풀 리퀘스트를 열거나, 업데이트하거나, 닫을 때 파이프라인을 시작합니다. 실행에는 가져오려는 소스 브랜치 (즉, 소스 브랜치) 의 커밋이 사용됩니다. 브랜치와 파일 경로에서 풀 리퀘스트 트리거를 필터링할 수 있습니다.

    참고

    풀 리퀘스트에 지원되는 이벤트 유형은 열림, 업데이트 또는 닫힘 (병합) 입니다. 다른 모든 풀 리퀘스트 이벤트는 무시됩니다.

파이프라인 정의를 사용하면 동일한 푸시 트리거 구성 내에서 여러 필터를 결합할 수 있습니다. 파이프라인 정의에 대한 자세한 내용은 을 참조하십시오파이프라인 JSON (CLI) 에서의 트리거 필터링. 유효한 조합은 다음과 같습니다.

  • tags

  • 지점

  • 브랜치 + 파일 경로

필터 유형은 다음과 같이 지정합니다.

  • 필터 없음

    이 트리거 구성은 작업 구성의 일부로 지정된 기본 브랜치로 푸시할 때마다 파이프라인을 시작합니다.

  • 필터를 지정하십시오.

    특정 필터 (예: 코드 푸시용 브랜치 이름) 에서 파이프라인을 시작하고 정확한 커밋을 가져오는 필터를 추가합니다. 또한 변경 시 파이프라인이 자동으로 시작되지 않도록 구성합니다.

  • 변경 사항을 감지하지 마세요.

    이렇게 해도 트리거가 추가되지 않으며 변경 시 파이프라인이 자동으로 시작되지 않습니다.

다음 표에는 각 이벤트 유형에 유효한 필터 옵션이 나와 있습니다. 또한 이 표에는 작업 구성의 자동 변경 감지를 위해 기본적으로 true 또는 false로 설정된 트리거 구성이 나와 있습니다.

트리거 구성 이벤트 유형 필터 옵션 변경 감지
트리거 추가 - 필터 없음 없음 없음 true
트리거 추가 - 코드 푸시에 대한 필터링 푸시 이벤트 Git 태그, 브랜치, 파일 경로 false
트리거 추가 — 풀 리퀘스트용 필터 풀 리퀘스트 브랜치, 파일 경로 false
트리거 없음 — 탐지 불가 없음 없음 false
참고

이 트리거 유형은 자동 변경 감지 (Webhook트리거 유형) 를 사용합니다. 이 트리거 유형을 사용하는 소스 작업 공급자는 코드 푸시를 위해 구성된 연결 (Bitbucket Cloud, GitHub 엔터프라이즈 서버 GitHub, GitLab .com 및 GitLab 자체 관리형) 입니다.

필터링의 경우 글로브 형식의 정규 표현식 패턴이 에 자세히 설명되어 있듯이 지원됩니다. 구문에서 glob 패턴 작업

참고

경우에 따라 파일 경로에서 필터링되는 트리거가 있는 파이프라인의 경우 파일 경로 필터가 있는 브랜치를 처음 만들 때 파이프라인이 시작되지 않을 수 있습니다. 자세한 정보는 파일 경로를 기준으로 트리거 필터링을 사용하는 연결이 있는 파이프라인은 브랜치 생성 시 시작되지 않을 수 있습니다.을 참조하세요.

트리거 필터 고려 사항

트리거를 사용할 때는 다음 고려 사항이 적용됩니다.

  • 브랜치 및 파일 경로 필터가 있는 트리거의 경우 브랜치를 처음 푸시하면 새로 만든 브랜치에 대해 변경된 파일 목록에 액세스할 수 없으므로 파이프라인이 실행되지 않습니다.

  • 푸시 (브랜치 필터) 와 풀 리퀘스트 (브랜치 필터) 트리거 구성이 교차하는 경우 풀 리퀘스트를 병합하면 두 파이프라인 실행이 트리거될 수 있습니다.

트리거 필터의 예

푸시 및 풀 요청 이벤트 유형에 대한 필터가 있는 Git 구성의 경우 지정된 필터가 서로 충돌할 수 있습니다. 다음은 푸시 및 풀 요청 이벤트에 유효한 필터 조합의 예입니다.

고객이 단일 구성 개체 내에서 필터를 결합하는 경우 이러한 필터는 AND 연산을 사용합니다. 즉, 완전히 일치하는 경우에만 파이프라인이 시작됩니다. 다음 예제는 Git 구성을 보여줍니다.

{ "filePaths": { "includes": ["common/**/*.js"] }, "branches": { "includes": ["feature/**"] } }

위의 Git 구성을 사용한 이 예제는 AND 작업이 성공하여 파이프라인 실행을 시작하는 이벤트를 보여줍니다.

{ "ref": "refs/heads/feature/triggers", ... "commits": [ { ... "modified": [ "common/app.js" ] ... } ] }

이 예제는 브랜치에서 필터링할 수 있지만 파일 경로는 필터링할 수 없기 때문에 파이프라인 실행을 시작하지 않는 이벤트를 보여줍니다.

{ "ref": "refs/heads/feature/triggers", ... "commits": [ { ... "modified": [ "src/Main.java" ] ... } ] }

동시에 푸시 배열 내의 트리거 구성 객체는 OR 연산을 사용합니다. 이렇게 하면 동일한 파이프라인에 대한 실행을 시작하도록 여러 트리거를 구성할 수 있습니다. JSON 구조의 필드 정의 목록은 을 참조하십시오. 파이프라인 JSON (CLI) 에서의 트리거 필터링