hyperskill - Running a "hello world" action 영어 원문
이번 주제에서, 당신의 코드에 대한 GitHub actions 기초 배포 파이프라이프라인을 만드는 것에 대해서 배울 겁니다.
Adding actions to your own repository - 레포에 깃헙 액션 추가하기
시작하기에 앞서, 당신은 새로운 GitHub Repo를 생성해야 합니다.
이 레포지토리에는 hello.txt
라는 이름을 가진 텍스트 파일을 포함해야 합니다.
이 파일 내부에 밑의 내용을 복사 붙여넣기하세요 :
Hello world from github
mkdir .github/workflows
혹은 mkdir -p .github/workflows
명령어를 사용하여
당신의 로컬 레포지토리에 워크플로우 디렉토리를 생성하세요.
워크플로우(파이프라인을 사용하는 설정 파일) 를 생성하기 위해서, YAML 파일을 생성해야 합니다.
워크플로우 파일에 이런 이름을 지어 줍니다 : hello_workflow.yaml
.
그리고 나서 hello_workflow.yaml
파일 내부에 밑의 템플릿을 붙여넣기하세요.
name: hello_workflow
on: [push]
jobs:
print-hello:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Hello world using echo
run: echo "$(<hello.txt)"
- name: Hello world using cat
run: cat hello.txt
이제 github 에 당신의 로컬 repo 를 push 하세요.
workflow 파일은 당신이 코드를 push 할 때 트리거됩니다 :
git add .
git commit -m "Added an initial Github Action"
git push
View logs - 깃허브에서 액션 로그 보기
당신이 생성한 github action 은 이벤트가 실행 된 이후 즉시 시작됩니다.
이 예제의 경우 이벤트는 push
입니다.
워크플로우 현황을 보기 위해서, GitHub 레포에서 Actions
탭을 선택하세요.
All Workflows 밑의 hello_workflow 는 워크플로우의 현재 상태를 표현하는 워크플로우 이름입니다.
노란색 원은 현재 액션이 여전히 구동중이라는 의미입니다.
한 번 액션이 완료된다면, 초록색 원이 나타납니다.
만약 당신이 워크플로우 hello_workflow
의 커밋 이름을 클릭한다면,
더 많은 정보를 볼 수 있습니다 :
print-hello
job 을 클릭하여 워크플로우 내부의 job에 대한 더 많은 정보를 볼 수 있습니다.
job 내부에서 서로 다른 단계들을 볼 수 있습니다.
첫 번째로, actions/checkout@v4
단계가 실행됩니다.
이 액션의 역할은 당신의 저장소에서 액션을 실행할 ubuntu-latest
러너를 확인하는 겁니다.
그리고 나서 당신이 정의한 두 개의 커스텀 단계들이 실행되며,
이 두 개의 커스텀 단계는 레포 내부의 텍스트 파일 컨텐츠를 프린팅합니다.
그리고 액션 이름의 삼각형을 클릭하여 액션을 확장할 수 있습니다.
확장하면, 당신이 만든 액션의 출력을 볼 수 있습니다.
The workflow file - 워크플로우 파일
워크플로우 파일은 여러 개의 섹션을 가지고 있으며, 이는 밑에 설명해 놓았습니다 :
name: hello_workflow
name
키워드는 워크플로우의 이름을 정합니다.
당신은 선호하는 대로 알맞는 이름을 할당 할 수 있습니다.
on: [push]
on
키워드는 언제 워크플로우가 실행될지 지정하는 겁니다.
당신의 워크플로우는 repo 에 무언가를 push 한다면 이곳에서 실행된다는 겁니다.
jobs:
print-hello:
여기에 jobs
키워드 밑에 들여쓰기 하며 당신의 실행하고 싶은 모든 job 들을 나열할 수 있습니다.
이 예제의 워크플로우에서는, print-hello
라고 부르는 하나의 job 만이 있습니다.
runs-on: ubuntu-latest
runs-on
키워드는 job 이름 밑에 들여쓰기됩니다.
이 키워드는 당신의 워크플로우가 구동될 가상의 환경을 지정합니다.
당신의 워크플로우는 워크플로우 파일 에서 말했던 대로 Ubuntu 의 최신 버전을 구동합니다.
steps:
- uses: actions/checkout@v4
- name: Hello world using echo
run: echo "$(<hello.txt)"
- name: Hello world using cat
run: cat hello.txt
위의 단계들은 당신의 print-hello
job 의 단계들입니다.
각각의 단계는 -
접두어가 붙으며,
steps
키워드 밑에 들여쓰기됩니다.
모든 단계들은 순서로 실행됩니다.
name
키워드로 단계의 이름을 지정할 수 있으며,
이러한 name
키워드의 이름은 워크플로우가 한 번 완료 되며 단계로서 이름이 로그(기록) 됩니다.
단계들은 당신이 실행하기 원하는 모든 명령어가 될 수 있습니다. 예를 들어 :
run: cat hello.txt
이는 명령어 라인 cat hello.txt
를 실행합니다.
당신의 워크플로우가 레포(저장소)에 접근하기 위해서, 실행기(러너)로 당신의 저장소를 확인해야 합니다.
이것이 이러한 단계로 당신의 job 을 실행해야 하는 이유입니다 :
- uses: actions/checkout@v4
@v4
는 사용되는 checkout 패키지의 버전이 4 라는 것을 의미합니다.
당신은 버전을 지정해 줘야 하는데,
패키지들이 지속적으로 새로운 버전으로 업데이트 되어 에러가 생길 수 있기 때문입니다.
따라서, 당신은 패키지의 한 버전으로 고정해 놓아야 합니다.
Conclusion - 결론
이번 주제에서는, 당신의 저장소에 대한 GitHub actions 를 사용하는 법을 배웠습니다.
이러한 간단한 워크플로우는 미래에 더 복잡한 워크플로우를 다루는 데 도움을 줍니다.
words to remember
이번엔 없음
'Hyperskill - 컴퓨터 CS 및 영어 독해 > Introduction to Docker' 카테고리의 다른 글
Domains - 도메인 (0) | 2024.07.31 |
---|---|
Using external workflows - 외부 워크플로우 사용하기 (0) | 2024.07.30 |
Regular expression - 정규 표현식 기초 (2) | 2024.07.27 |
File types - 파일 유형 (0) | 2024.07.25 |
Introduction to GitHub actions- 깃헙 액션 소개 및 기초 (3) | 2024.07.24 |