본문 바로가기

IT/Software

GitHub Actions 깃허브 액션 기능 배워보기

세로 광고판 입니다

GitHub Actions

깃허브 액션이라고, 새로 생긴 기능을 따라해보며 배우는 유튜브 강의 정리합니다.

GitHub Action 유튜브 강의 - 이고잉 생활코딩

원본 동영상 주소는 여기 ▶ https://www.youtube.com/watch?v=uBOdEEzjxzE&

깃허브 액션 배우기 from 생활코딩

강의 정리 내용

실제 강의 내용을 필요한 부분 캡쳐해서 정리해 본다.

  1. GitHub에서 테스트 할 레포를 하나 만들면, Actions 라는 탭이 생겨있다.

  2. 여기를 누르면 아래와 같은 화면을 볼 수 있고, 오른쪽 파란색 Set up a workflow 라는 버튼을 누른다.

  3. 그럼 아래와 같이 간단하게 GitHub Actions 작업 내용을 정의할 수 있는 main.yml 이름의 스크립트 화면이 나오는데, 이 부분을 수정하면 자신이 원하는 기능을 맘대로 할 수 있다. main.yml 파일을 살펴보자.

  4. on: [push] 라는 문자열이 보이는데, 아래 처럼 다양한 이벤트를 등록해 둘 수 있다. 의미는 [ ] 에 정의된 이벤트가 발생하면 아래에 jobs에 정의된 작업을 수행한다는 것이다. 이벤트의 종류는 아래와 같이 여러가지가 정의되어 있다.
    참고페이지) https://help.github.com/en/actions/reference/events-that-trigger-workflows

     

  5. 실제 아래와 같이 main.yml 을 수정해서 올려보자. 큰 의미는 없지만, 실제 GitHub Actions 동작 수행 과정을 이해할 수 있다.
    아래 예는 GitHub Repository 에 push 이벤트가 발생하면, 우분투 ubuntu linux 가상 머신을 켜고, “pwd”, “ls -al” 을 차례대로 수행하는 작업에 대한 화면이다.

  6. 아래예는 Git checkout 을 수행하고, 이후에 pwd ls 를 수행하는 화면이다.
    아래에 보는 것처럼, 아무 파일도 없던 폴더에 checkout 한 파일들이 리스트 되고 있음을 확인할 수 있다.
    즉, GitHub Actions 가 아주 잘 동작하고 있음을 확인할 수 있다.

  1. 아래예는 GitHub Actions 에서 활용 가능한 전역변수 같은 context 를 살펴볼 수 있는 동작이다.
    github 구조체로 넘어오는 정보를 JSON 포맷으로 변환하여 출력해 주는 화면을 볼 수 있다.

  1. 이제 비밀스런 시크릿 키 값 같은 것을 출력해 보자. 실제 값이 나오게 되면 안되겠죠 ^^;
    일단 프로젝트 Settings > Secrets > Secret key 를 하나 등록해 놓고,

  1. 실제 GitHub Actions yml 파일에서 이 비밀 키 값을 출력해 보자.
    출력할 때 사용하는 키 값은 자신의 정의한 문자열을 쓰면 되는데 , 형태는 “${{ secrets.비밀키명 }}” 로 표현하면 된다.

  2. 짠!! 💥 출력된 값은 그냥 “***" 로 표현되는 것을 보면, 잘 보호되고 있음을 알 수 있다. 물론, 출력은 되지 않지만 실제 코드에서 필요한 곳에 내부적으로 사용될 때는 실제 그 키 값을 가져와서 잘 쓰고 있어 동작에 문제가 없다. 단지 외부 출력만 조심할 뿐!! 🙂

끝.