본문 바로가기
C.W.K.
Stream
Lesson 08 of 14 · published

단계 출력값

~10 min · outputs, steps, communication

Level 0견습생
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

단계 간 값 전달

단계에서 출력값을 게시하면 같은 작업 안의 이후 단계에서 읽을 수 있어. 출력값은 $GITHUB_OUTPUT에 쓰면 되고, 이후 단계에서는 steps.<id>.outputs.<name> 형식으로 참조하면 돼.

쓰기

$GITHUB_OUTPUT에 키=값 형태의 줄을 추가해:

echo "sha=${GITHUB_SHA::7}" >> $GITHUB_OUTPUT

여러 줄로 된 값은 heredoc 스타일의 구분자를 사용해:

{
echo 'changelog<<EOF'
cat CHANGELOG.md
echo 'EOF'
} >> $GITHUB_OUTPUT

읽기

단계의 id와 출력값 이름을 조합해서 참조해. 예를 들어 steps.meta.outputs.sha처럼 쓰면 돼.

서로 다른 작업에 있는 단계끼리는 출력값을 직접 읽을 수 없어. 이럴 때는 작업 출력값(다음 레슨에서 다룰 거야)을 사용해.

Code

단계 출력값 — 생산 + 소비·yaml
      - name: Compute version
        id: version
        run: |
          v=$(git describe --tags --always)
          echo "value=$v" >> $GITHUB_OUTPUT
          echo "short=${v#v}" >> $GITHUB_OUTPUT

      - name: Build with version
        run: |
          docker build -t myapp:${{ steps.version.outputs.short }} .

External links

Exercise

단계 세 개를 가진 작업을 작성해 봐. 버전 문자열을 계산하고, GITHUB_OUTPUT에 쓴 다음, 세 번째 단계의 태그/빌드 명령에 사용해. 실행 로그에서 값이 정확하게 흘러가는지 확인해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.