# TIL-20211109
# Daily
- github actions을 이용한 CD 구현
# Contents
# Github Actions을 이용해 무중단 배포하기
처음 기획은,
workflow 파일을 역할별로 구별하여 구현하고, 이후에 하나의 파일에서 Jobs를 통해 해당 workflow를 실행하는 방식으로 구현하고자 했다.
문제점 : 🔥
=> 현재 사용하고 있는 프로젝트 repository는 비공개(private)로 되어있어 외부에서 접근이 불가능하다.
하지만, 이 부분은 같은 레포지토리에 있는 workflow에 접근한다면 문제가 되지 않는것으로 파악했다.
workflow syntax document에서 외부 workflow 파일을 참조하는 방식은 두 가지로 나뉘어 지는데,
repository_dispatch
workflow_dispatch
workflow_call
두 가지 이벤트 trigger를 설정하여 workflow를 실행하는 조건을 설정 할 수 있다.
repository_dispatch
curl을 통해서 default repo에서 workflow를 실행하도록 설정 할 수 있다.workflow_dipatch
curl을 통해서 원하는 branch에 workflow를 실행할 수 있다. actions 탭에서 workflow를 실행할 수 있다.workflow_call
다른 workflow에서 해당 workflow을 실행하게 할 수 있다.
workflow_call
를 통해서 실행하려고 했지만, 해당 경로의 workflow를 찾지 못하는 에러가 발생했다.
같은 경로의 workflow를 실행할 수 있다고 했지만, 해당 경로의 workflow에 접근권한이 없는것 처럼 나타난다.
이번 프로젝트에서는 jobs을 단계적으로 생성하고 needs
에 이전 job을 할당하여, 작업 완료에 따른 프로세스를 구성했다.