목록github (28)
컴공생의 다이어리
[GitHub Action] workflow 재사용하기GitHub Action 워크플로우를 작성하다 보면 동일한 프로세스의 워크플로우가 반복되는 경우가 있다. 일부 로직이 변경될 때, 동일한 워크플로우를 모두 수정하거나 변경 사항을 놓치는 경우가 발생할 수 있다. 이로 인해 추가로 수정하고 커밋해야 하는 번거로움이 발생한다. 이런 불편함으로부터 워크플로우를 재사용할 필요성에 대해 느꼈고 이 글에서 워크플로우 재사용하는 방법에 대해 정리하고자 한다. workflow 재사용을 적용해볼 example 워크플로우 재사용을 적용해볼 예시는 다음과 같다. 같은 워크플로우에 client-check와 admin-check job은 실행 조건과 작업 디렉토리 설정 값을 제외한 나머지 로직이 동일하다. 재사용..
[GitHub] Organization(조직) 이름 변경하기 이 글에서는 깃허브 Organization 이름을 변경하는 방법에 대해 정리하고자 한다. 1. Organization 페이지에 접속해서 Settings 탭을 클릭한다. 2. Settings의 General 메뉴에 대해 하단으로 스크롤 하면 Danger zone이 나오는데 이 영역의 Rename organization 버튼을 클릭한다. 3. 아래 주의 사항을 읽어보고 하단 버튼을 클릭한다. 4. 변경할 이름을 기입하고 Change 버튼을 클릭한다. 이 과정이 끝나고 조금 기다리면 변경된 이름이 적용된다.
[GitHub] 저장소(Repository) 소유권 변경하기 GitHub 저장소를 개인으로 생성하고 다른 사람에게 소유권을 넘긴다던지 혹은 Organization 소유로 변경하고 싶을 수 있을 것이다. 이 글에서 그 방법에 대해 정리해보고자 한다. 제일 먼저 소유권을 변경하고자 하는 저장소의 Settings의 General에 들어간다. 그리고 제일 아래 쪽으로 스크롤하면 아래와 같이 Danger Zone이 나오는데 Transfer ownership의 Transfer 버튼을 클릭해준다. 아래와 같이 나오면 소유권을 넘겨줄 Organization을 선택하거나 다른 사람의 username을 입력해서 새로운 저장소의 Owner를 설정한다. 그리고 난 뒤 마지막 확인을 위해 저장소이름을 한번 더 적어준 뒤 I u..
[GitHub Action] Secrets로 환경 변수 관리 GitHub Action의 workflow 안에 api 키, 관련 비밀번호 등 환경 변수를 숨기고 싶은 경우가 있을 것이다. 이를 숨기기 위한 방법으로 Secrets를 활용하는 것이 있다. 오늘은 이 방법에 대해 정리해보고자 한다. 과정 1. GitHub Action의 secrets을 등록하고자 하는 깃허브 저장소의 Settings>Security>Secrets and variables>Actions 메뉴에 들어간다. 2. New repository secret 버튼을 클릭한다. 3. Name에는 환경 변수의 키(변수명)에 해당하는 값을 입력하고 Secret에는 키에 해당하는 값을 입력한다. 4. 앞서 secret으로 저장한 환경변수에 대해 w..
[GitHub Action] Matrix Strategy 동일한 작업을 다양하게 실행시키고 싶다면 Matrix Strategy를 사용하면 된다. 여러 운영체제에서 테스트를 돌린다던지 여러 버전을 사용하여 테스트를 진행할 수 있다. jobs..strategy.marix 하위에 job을 수행하고자 하는 matrix를 정의하면 정의된 변수들의 가능한 모든 조합의 수만큼 Job을 실행한다. step에서 matrix 변수를 사용할 때는 ${{ matrix.변수명 }} 의 형태로 사용해주면 된다. 아래 예시는 node-ver이 14, 16, 18인 경우에 대해서 node-version을 설정하여 돌리는 Job들을 수행한다. jobs: test: runs-on: ubuntu-latest strategy: matrix..
GitHub PR 템플릿 만들기 깃허브에서 PR을 계속해서 날리다보면 일관성 없는 형태로 PR이 작성될 때가 있다. 또한 협업시 PR 작성을 할 때 기본적인 형식을 정해놓고 해야 협업의 효율성을 높일 수 있다. 그래서 오늘은 PR 템플릿 파일을 만드는 과정에 대해 정리해보고자 한다. 참고 직접 클론해서 로컬에서 작업을 하고 커밋을 해도 괜찮고 깃허브 원격 저장소에서 추가해줘도 괜찮다. 아래 설명은 로컬에서 git bash를 활용해 작업한 기준으로 설명한다. 1. 저장소의 상위폴더에서 .github라는 폴더를 생성한다. 이미 폴더가 있다면 다음으로 넘어가면 된다. mkdir .github 2. .github 폴더로 이동하고 폴더 내에 PULL_REQUEST_TEMPLATE.md (파일명을 소문자로 해도 가..
GitHub Dependabot 알림 끄기(비활성화) 깃허브의 dependabot은 정기적으로 저장소에서 사용하는 패키지 및 라이브러리의 버전을 체크하고, 업데이트가 있는 경우, PR을 자동으로 생성해 주는 깃허브 봇이다. 크게 중요하지 않은 장고 공부용 프로젝트가 있는 저장소에서 dependabot이 생각보다 많이 알림이 와서 이메일의 60~70%가 이 저장소의 dependabot 알림이었다. 그래서 이 봇 알림을 비활성화하고자 했고 이 글에서 그 방법에 대해 정리하고자 한다. 비활성화 방법 1. dependabot을 비활성화하고자 하는 저장소의 Settings에 들어간다. 2. Security 탭의 Code security and analysis 메뉴를 클릭한다. 3. Dependabot 영역에서 a..
[Git] gist ssh로 clone gist를 깃을 사용해 로컬로 clone할 때 ssh를 사용하는 방법에 대해 정리하고자 한다. 새로운 gist 생성하거나 기존의 gist가 있다고 가정하고 시작한다. 아래의 캡처 사진에 보이는 숫자를 따라 클릭을 해서 gist의 주소를 복사한다. 그 다음 내 컴퓨터(로컬)에서 원하는 위치에 bash창을 열어 아래와 같이 명령어를 입력해주면 gist를 로컬로 가져올 수 있다. 물론 이 명령어는 ssh key가 미리 깃허브에 등록되어 있어야 가능하다. git clone {복사한 gist 주소} # example git clone git@gist.github.com:lalrarahoho52.git 혹시 ssh key 등록을 했고 github의 저장소는 clone 되는데 ..
GitHub 이슈(issue) 템플릿 만들기 깃허브에서 같은 형식의 이슈를 여러번 생성한다면 템플릿을 사용하는 것이 좋다. 오늘은 이슈 템플릿 생성 과정에 대해 정리하고자 한다. 제일 먼저 해당 저장소의 Settings에 들어간다. 그 다음 스크롤해서 Features가 있는 영역에서 Issues 부분의 Set up templates를 클릭한다. 그 다음 아래와 같이 나오면 Custom template을 클릭한다. 그 다음 Preview and edit을 클릭한다. 클릭하면 아래와 같이 나오는데 연필 모양 수정 버튼을 클릭한다. 아래와 같이 나오면 템플릿 명과 설명 그리고 제일 중요한 템플릿 내용을 원하는 내용으로 채워주고 마지막으로 맨 위 Propose changes 버튼을 클릭한다. 참고로 템플릿을 만..
GitHub 내 타임라인과 커밋 시간이 일치하지 않는 경우 깃허브 내 타임라인이 아래의 첫번째 사진과 같이 나올 것이라고 생각했는데 rebase 명령어를 사용한 후 실제 커밋 시간과 다르게 깃허브의 타임라인 시간과 일치하지 않는 일이 발생했다. 이 경우, 아래 명령어를 입력해준 뒤 git push -f 명령어로 원격저장소로 push하면 해결할 수 있다. git filter-branch --env-filter 'export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"' # 'Cannot create a new backup. ~' 에러 발생시 git filter-branch -f --env-filter 'export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"'..