번개애비의 라이프스톼일

구름 IDE에서 저장 시 자동으로 Github에 커밋하는 방법 (공유된 사용자마다 개별계정 연결 방법 포함) 본문

IT

구름 IDE에서 저장 시 자동으로 Github에 커밋하는 방법 (공유된 사용자마다 개별계정 연결 방법 포함)

번개애비 2024. 10. 29. 04:25

본 방식의 CI/CD 자동화는 구름 IDE를 통해 다수의 사용자에게 개발환경을 공유하면서

다수의 사용자가 실제 구름 IDE에 코드를 작성/수정을 하게 되면

해당 사용자의 Github계정으로 공용 프로젝트에 커밋을 날릴 수 있도록 하는 배포방식이다.

 

 

이러한 배포방식은 Github의 main branch 자체를 백업용 저장소로 활용함으로써

구름IDE에서 하나의 파일을 여러 개발자가 동시다발적으로 수정하면서

main branch를 통해 누가 어떤 코드를 수정했는지 추적관리가 용이해진다.

 

 

 

<중요>
본 방식을 활용하여 공용 개발환경을 구축하기 위해서는 사전에 아래와 같은 조치사항이 선행되어야 한다.

1. 구름IDE에 컨테이너가 설치되어 있어야함.
2. Github의 저장소가 해당 컨테이너에 클론되어 있어야 한다.
3. 구름IDE의 컨테이너를 공유한 사용자들도 해당 Github저장소에 Collaborators에 등록되어야 있어야한다.
4. 구름IDE의 최고권한(root) 사용자는 사전에 아래의 명령어를 터미널에 실행시켜두어야 한다.

git config --global user.name "아이디"
git config --global user.email "이메일"
git config --global color.ui auto
git config --global alias.st status
git config --global credential.helper store

 


 

 

 

구름 IDE에서 컨테이너를 실행한 뒤에 아래와 같이 명령어를 추가한다.

 

이름에는 적절한 명령어의 이름을 작성하고,

대상프로젝트를 선택한 뒤에 서버 프로세스, 실행 시 탭 열기를 체크한다.

파일 저장 시 실행을 체크해준다.

(백그라운드 실행은 체크를 해제해야함)

 

해당 명령어의 스크립트에 아래의 코드를 입력하고 명령어를 저장한다.

source ~/.bashrc
git pull origin main
git add ${current.saved.file.path}
git add -u .
git -c user.name="$GIT_NICKNAME" -c user.email="$GIT_EMAIL" commit -m $USER
git push

 

 

 

 

 

그 뒤 컨테이너 관리자(root)를 포함하여 해당 컨테이너를 공유받은 사용자(user)는 

각각의 컨테이너에 접속하여 ~/.bashrc 에 본인의 Github 이메일과 닉네임을 저장해두어야 한다.

vi ~/.bashrc

export GIT_EMAIL="해당사용자의 깃허브이메일"
export GIT_NICKNAME="해당사용자의 깃허브닉네임"

:wq

 

 

 

 

 

 

 

그 뒤, IDE의 브라우저를 껏다가 다시 접속을 시도한 뒤에 프로젝트내의 파일을 저장하게 되면

아래와 같이 저장과 즉시 해당 구름IDE 사용자가 설정한 Github 계정으로 저장소 커밋이 수행된다.

Comments