티스토리 뷰
# reusable.yaml
name: Reusable workflow
on:
workflow_call:
inputs:
artifact-name:
description: The name of the deployable artifact files
required: false
default: dist
type: string
outputs:
result:
description: The result of the deployment operation
value: ${{ jobs.deploy.outputs.outcome }}
우리는 재사용 가능한 것은 따로 빼두어 재사용 하여 코드의 가독성을 높이고 효율성을 높여야 한다.
github action에서도 마찬가지로 yaml파일에서 할수 있도록 하였다.
가져다 쓸 부분의 trigger를 push, pull_request가 아닌 workflow_call로 정해준다.
workflow_dispatch가 수동으로 워크 플로우 실행 시키는 것이였다면 workflow_call도 마찬가지로 call이 들어왔을때 실행시킨다.
# useRable.yaml
deploy:
needs: build
uses: ./.github/workflows/reusable.yaml
with:
artifact-name: dist-files
uses: ./.github/workflows/reusable.yaml
해당 경로에 있는 파일을 사용한다고 call하면 해당 경로의 워크플로를 가져와서 사용을 할수가 있게 된다.