CI\CD/GitHub Action

Github Action - Github Marketplace 및 사전 준비

hustle_D 2025. 9. 26. 16:46
반응형

Github Marketplace

깃허브 액션 마켓 플레이스는 깃허브에서 바로 가져다 쓸 수 있는 확장 앱, 도구 스토리지 이다.

여기서 누군가 만들어둔 action을 사용할 수 도 직접 만든 커스텀 액션을 업로드 할 수 도 있다.

 

https://github.com/marketplace?type=actions

 

GitHub · Build and ship software on a single, collaborative platform

Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.

github.com

위 링크로 들어가서

Actions를 누르면 

이렇게 누군가 만들어둔 Action을 확인할 수 있다.

 

아무거나 하나 클릭해서 들어가보면

이런식으로 어떻게 사용하는지에 대한 정보도 있으니 이를 기반으로 작성해보면 된다.

지금은 그냥 이렇게 확인할 수 있다고만 알아두자.

 

 

사전준비

깃허브 액션을 사용하기 위해서는 아래 세가지의 사전 준비가 필요하다.

  • Github Organization 생성 및 업데이트(Repository 생성)
  • Github Personal Access Token(PAT) 생성
  • Slack webhook 생성

여기서 첫번째 두번째건은 그냥 github을 쓰면서 만났을 만한 내용인데 slack에 대한 내용은 처음이라 이 부분을 한번 확인해보고 넘어가려고 한다.

 

Slack이란

slack은 협업을 위한 메세징 플렛폼으로 실무에서 많이 사용되는 그냥 팀 메신저이다.

 

Slack webhook이란?

slack webhook은 slack에 webhook을 붙이는 걸로 액션의 실행 결과, 배포 완료, 에러로그 링크 등을 팀 채팅방에 공유하여 반응 속도를 높이고 승인(스테이징->운용)같은 휴먼 핸드 오프가 빨라지게 된다.

장기적으로 이력/관찰 가능성을 확보할 수 있기에 여러모로 도움이 된다.

 

단순하게 말하면 Slack은 필수는 아니지만 있으면 매우 유용하다는 것으로 보인다.

 

 

이제 사전준비의 과정을 하나 하나 해보면서 알아보도록 하자.

 

1. Github Organization 생성

먼저 Github 홈페이지에 들어가서 로그인해주고 우측 상단에 아이콘을 선택하고 

Organizations를 선택해주자.

그리고 우측의 New organization을 선택하

 

우린 돈이 없으니까 Free로 만들어주자.

 

그리고 이제 Organization name과 Contact email을 입력해주고 

간단하게 그냥 My personal account를 선택해주자.

그리고 약관만 선택한 다음에 next를 누르

다음에 나오는 화면은 그냥 skip 해주면

이제 조직이 만들어지게 된다.

 

이제 settings를 누르고 

 

Actions의 General를 선택하고

쭉 내려서 Work Place Permissions부분에 

Read and write permissions를 클릭하고 save를 눌러주자.

 

이제 레포지터리 하나를 만들어서 레포지터리를 하나 세팅해주자.(해당 부분은 저작권으로 공유가 불가능할 듯 보임... 추후 대략적인 흐름이 이해되면 본인이 하나 만들어서 공개해둘 예정)

이렇게 포크를 했다면 이제 레포지토리를 만드는 것도 완성 되었다.

 

2. Github Personal Access Token의 생성

Github을 로그인 한 후에 우측 상단의 아이콘을 누른 후에 settings로 들어가면

좌측 메뉴를 스크롤 하면 Developer settings 라고 있는 메뉴를 클릭해주면

이렇게 메뉴가 세가지가 나오는데 여기서 Personal access tokens를 누르고 Tokens(classic)을 눌러주고

나오는 화면에서 우측에 Generate new token을 누른 후에 Generate new token(classic)을 누르고 

나오는 화면에서 Note와 만료기간을 지정하고 아래 스코프는 모두 선택해주도록 하자.

이걸 생성하려는 이유는 깃허브 액션이 추후 깃허브에 접근할때 권한을 모두 갖고 있게 하기 위함이다.

 

일단 뭐 다 쓰지 않을 기능이긴 하다만 모두 켜준 후에 Generate token을 해주자.

그러면 아래 빨간 네모 부분에 접근할 수 있는 토큰이 생성되는데 이건 최초 생성된 이후에 다시 볼 수 없으니 꼭 간직해두도록 하자.

 

3. Slack webhook

마지막으로 슬랙에 가입을 우선 해주고

https://slack.com/intl/ko-kr/get-started?entry_point=home_page#/createnew

 

로그인

Slack에 로그인하거나 팀과 함께 무료로 체험해보세요. 시작하려면 이메일 주소를 입력하세요.

slack.com

 

구글에 Slack webhook을 검색해보면

https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/

 

Sending messages using incoming webhooks | Slack Developer Docs

Incoming webhooks are a way to post messages from apps into Slack. Creating an incoming webhook gives you a unique URL to which you send a JSON payload with the message text and some options. You can use all the usual formatting and layout blocks with inco

docs.slack.dev

 

여기를 보면 상단에 Your apps를 선택해주면

아래 화면이 나오는데 Create an App을 선택해주자.

 

그러면 아래 화면이 나오는데 여기서 From scratch를 선택하

App Name을 임의로 적어주고 

워크 스페이스를 선택해주자.

그리고 Create App을 선택해주고 

전환된 페이지의 메뉴에서 Incoming Webhooks를 눌러주고 

전환 된 화면에서

Incoming Webghooks를 Activate 해주자.

 

우리가 Slack을 사용하는 이유는 Github action에서 오는 메세지를 받아오기 위해서이다.

그럼 이제 어디서 받아올 것인지를 설정해줘야하는데 이건 

이 워크플레이스에서 

채널 명을 선택해서 생성해주고

이제 다시 설정 화면으로 돌아가서 

Add New Webhook을 선택한 다음에 

방금 만들었던 채널을 선택해주자.

 

이러면 완성된 것이다.

 

테스트를 위해서 

해당 커멘드를 wsl에서 실행해보면

이렇게 채널에 해당 text가 출력되는 것을 볼 수 있다.

 

사전 준비의 모든 과정을 완료했다.

반응형