마스터가 아닌 브랜치에서 GitHub 작업을 실행하는 방법은 무엇입니까?
GitHub에 리포지토리가 있고 Docker 이미지를 빌드하고 DockerHub에 푸시하는 작업을 만들고 싶습니다. 나는 그것을하는 방법을 알고 있지만 : 마스터 GitHub가 아닌 다른 브랜치에서 액션을 생성하면 그것을 실행하지 않습니다.
이것은 알려진 문제입니다 ( 워크 플로 파일은 마스터에서만 선택됩니까? ).
그것을 고칠 아이디어가 있습니까?
답변
공식 GitHub 작업 문서 ( 워크 플로 이벤트 정보 ) 에 따르면 :
워크 플로우 실행을 트리거하려면 다음 단계가 발생합니다.
저장소에서 이벤트가 발생하고 결과 이벤트 웹훅에는 연결된 커밋 SHA 및 Git 참조가 있습니다.
저장소의 .github / workflows 디렉터리는 연결된 커밋 SHA 또는 Git 참조에서 워크 플로 파일을 검색합니다. 고려할 커밋 SHA 또는 Git 참조에 워크 플로 파일이 있어야합니다.
예를 들어 이벤트가 특정 저장소 분기에서 발생한 경우 워크 플로 파일이 해당 분기의 저장소에 있어야합니다.해당 커밋 SHA 및 Git 참조에 대한 워크 플로 파일이 검사되고 트리거링 이벤트와 일치하는 on : 값이있는 모든 워크 플로에 대해 새 워크 플로 실행이 트리거됩니다.
워크 플로는 이벤트를 트리거 한 동일한 커밋 SHA 및 Git 참조에서 저장소의 코드에서 실행됩니다. 워크 플로가 실행되면 GitHub는 실행기 환경에서 GITHUB_SHA (커밋 SHA) 및 GITHUB_REF (Git ref) 환경 변수를 설정합니다. 자세한 정보는 "환경 변수 사용"을 참조하십시오.
이 때문에 워크 플로를 테스트 push
하려면 생성 된 브랜치에서 git 작업 (예 : do ) 을 수행해야합니다 .