[Github] [Action] 조직 전체에서 같은 Action을 사용하기 - .github 레포지토리

낙경·2024년 7월 4일

코끼리 개발 일지

목록 보기
5/7

상황

  • 프로젝트를 진행하면서, 점점 여러 프로젝트가 생기기 시작했다.

  • 모노 레포로 사용하지 않고, 조직 내에 각 프레임워크마다 하나의 레포지토리를 만들어서 관리하다보니 새로운 레포지토리를 만들 때마다, Action을 옮겨야하는 귀찮은 상황이 발생하였다. 2개뿐이긴 하지만

  • 이러한 과정에서, 조직 전체에 같은 Action을 사용하게 하는 법은 없을까? 고민을 하게되었다.




해결

.github 레포지토리?

  • 조직의 .github 레포지토리는 GitHub 조직 전체에 적용되는 특별한 레포지토리다.

목적 (용도)

  • 조직 전체에 적용될 기본 설정, 템플릿, 워크플로우 등을 중앙에서 관리한다.
  • 이슈 템플릿풀 리퀘스트 템플릿도 지정할 수 있다.
  • 조직 소개에 표시될 README.md도 여기서 설정할 수 있다!

장점

위에서 말한 목적들이 모두 장점이 될 수 있겠다.
특히, 새 레포지토리를 만들 때마다 계속 템플릿이나 액션 워크플로우를 옮겨야된다고 생각하면 너무 끔찍한데(사실 이미 너무 끔찍해서 찾은 방법이다)이를 해결할 수 있다

단점

그러면 장점만 있는가? 그건 아니다. 단점이라기보단, 주의사항에 가까운 내용인데,
해당 레포지토리는 public으로 설정해야한다. 그래서 Enterprise Managed Users에는 사용할 수 없다고 한다.


사용 방법

나는 우선 Action을 사용할 예정이므로 Action을 .github에 추가해보자.

Action 추가하기

조직에서 사용할 Action을 추가하기 위해서는 두가지가 필요하다.
1. workflow를 구성한 .yml 파일
2. metadata를 작성한 .properties.json 파일

1. workflow-templates 폴더 생성

  • .github 레포 루트위치에 workflow-templates 폴더를 만든다.

2. .yml 워크플로우 파일 추가

  • Action으로 사용할 워크플로우 파일을 추가한다

3. .properties.json 메타 데이터 파일 추가

  • 해당 워크플로우가 조직 내에서 Action을 추가할 때 노출되려면 해당 메타 데이터 파일을 추가해야한다. 추가하지 않으면, 노출되지 않는다.

4. Actions 탭에서 정상적으로 추가된 부분 확인

  • configure을 눌러보면 우리가 아는 익숙한 화면이 나온다.

  • 이렇게 하면 완료된다.




결론

github를 완벽하게 사용할 줄 아는 건 아니지만, 미약하지만 github Actions도 만들면서 팀원 모두가 github를 편하게 사용할 수 있는 방법을 항상 고민하고 있다.

개발을 하면서, 개발 외의 것(기획 말고!) 때문에 너무 많은 시간을 뺏기는 것은 개발자로써 용납할 수 없다 해야하나..? 물론 이러한 툴을 만들기 위해 공부하고, 서치하고, 실패하면서 많은 시간들을 사용하긴 하지만 이로 인해 팀원들이 만족할 때 난 정말 기분이 좋다.

이번에는 이렇게 열심히 만든 Action이나 템플릿들을 조직 내에서는 쉽게 사용하고 싶은데, 레포지토리를 만들 때마다 이거 저거 다 들고 옮기는 것은 너무 힘들었다.

그런 의미에서 이 .github 레포지토리의 발견은 몹시 기뻤다..
또, 이 레포지토리가 이거뿐만이 아니라 더 다양한 방법으로 사용할 수 있는 것은 조직을 정말 쉽게 관리할 수 있는 방법을 찾은 것만 같다 ㅋㅋㅋ

물론! 큰 규모의 회사에서는 조직 내에서도 팀마다 다른 문화를 가지고 있을거라 생각하지만, 우리정도의 규모(프로젝트 수준)는 조직 전체의 관리를 통일하는 것도 좋은 방법일 것 같다.

참고자료

조직의 시작 워크플로 만들기 - Github Docs

Creating a default community health file(기본 커뮤니티 상태 파일 만들기)

조직의 프로필 사용자 지정

0개의 댓글