본문 바로가기

공부/Git10

[Github Runner/Python] Offline 상태의 러너들 일괄 삭제 한번씩.. 러너 실행기 버전이 deprecate되었다던가 할 때, 러너들이 몇백개씩 새로 생성되며실행 실패(?)된 러너들이 삭제되지도 않고 오프라인 상태로 남아있었다.물론 시간이 더 지나면 알아서 없어지는것같긴 하다. 근데 난 성격이 급하니까 일괄로 지우는 스크립트 돌렸다. import requestsimport timemax_retries = 3retry_delay = 5# GitHub Organization과 Personal Access Token 설정organization_name = 'suminhong'token = '' # admin:org 권한이 있는 Classic Token 필요# GitHub API 엔드포인트api_url = f'https://api.github.com/orgs/{organ.. 2024. 8. 4.
[Github Workflow API] id 조회 & 실행 (dispatch) # Github Action Workflow id 조회 curl \ -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token $GH_ACCESS_TOKEN" \ https://api.github.com/repos/$OWNER/$REPO/actions/workflows/$WORKFLOW_FILENAME ex) curl \ -H "Accept: application/vnd.github.v3+json" \ -H "Authorization: token $GH_ACCESS_TOKEN" \ https://api.github.com/repos/suminhong/terraform/actions/workflows/cicd.yaml output json.. 2024. 4. 19.
[Github] Custom Action 구성 시 같은 Org 허용 Private Repository에 Custom Action을 만들어서 같은 Org 내 레포들에서 사용할 수 있도록 허용하려면 Repository Settings > Actions > General > Access > Accessible from repositories in the '' organization 을 선택하고 저장해줘야 한다. 끝! 2023. 10. 29.
[Github Action Runner] Self-Hosted Runner in Amazon Linux 2023 깃헙 액션 러너를 세팅하는 것은 매우 쉽다. 근데 amazon linux 2023 에서 진행하며, 공식 가이드에 있는것만으로는 부족해 남겨둔다. 먼저 토큰은 알아야 하므로... 깃헙 > Settings > Actions > Runners > New runner > New self-hosted runner 를 누른다. 그럼 이런 화면이 뜬다 이대로만 하면 중간에 Shasum command not found Libicu's dependencies is missing for Dotnet Core 6.0 라는 에러들을 보게 된다. 최종적으로는 아래와 같이만 하면 된다. (linux, x86 기준) mkdir actions-runner && cd actions-runner curl -o actions-runner.. 2023. 9. 17.
[pre-commit] local repository 사용하기 # Git Hook이란? https://git-scm.com/docs/githooks Git - githooks Documentation Hooks are programs you can place in a hooks directory to trigger actions at certain points in git’s execution. Hooks that don’t have the executable bit set are ignored. By default the hooks directory is $GIT_DIR/hooks, but that can be changed via the c git-scm.com commit이나 push같은 이벤트 발생 시 동작 .git/hooks 폴더를 확인하면 여러 hook들.. 2023. 5. 8.
[git stash] error: 다음 파일의 로컬 변경 사항을 체크아웃 때문에 덮어 쓰게 됩니다 문제 상황 main에서 작업해야 할 것들을 모르고 branch에서 작업하고 있었음 중간에 깨닫고 checkout main을 시도했으나 아래와 같은 에러가 발생함 해결 git stash && git checkout main && git stash pop git stash란? 현재까지 작업한 내용을 커밋하지 않고 별도의 임시 저장소에 저장하는 명령 즉 작업중인 파일들을 숨겨둘 수 있음 따라서 위 해결 명령을 다시 살펴보면... git stash : 작업 내용을 스택에 넣어둠 git checkout main : 원래 하려던 작업 (checkout or pull) git stash pop : 스택에 넣어둔 변경 사항을 적용하고, 스택에서 제거 끝 Ref https://blog.hodory.dev/2020/02/.. 2022. 8. 13.
[Git] fork와 clone의 차이 결론 fork : 남의 원격 저장소를 내 "원격 저장소"로 가져오는것 clone : 어떤 원격 저장소를 내 "지역 저장소"로 가져오는것 fork는 남의 원격 저장소(Github Repository)에 불만이 있어서 고쳐보고 싶을 때 사용한다 해당 원격 저장소를 내 깃헙으로 그대로 복제해서 이것저것 고쳐볼 수 있다 그 후 내가 고친게 원본보다 낫다! 싶으면 PR(Pull Request)을 origin에게 보내고, origin의 관리자 또한 그것이 맘에 들면 해당 PR을 받아들여 그 변경사항들이 commit, merge된다 clone은 어떤 원격 저장소를 내 로컬 저장소에 복사하는것이다 fetch와 push로 변경 이력을 업로드 할 수 있다(물론 권한이 있는 경우) 내가 clone 하기 전의 commit 이.. 2020. 7. 9.
[Git] Git과 SVN의 차이, 그리고 Branch와 merge 일단 Git과 Subversion(SVN)의 차이를 한번 알아보자 둘 다 버전관리 도구이지만, Subversion은 중앙 버전 관리 도구이고, Git은 분산 버전 관리 도구이다 그래서 Git은 SVN과 달리 지역저장소라는게 하나 더 존재한다 원격 저장소(remote repository)는 여러 사람들이 공동으로 이용하는 저장소이고 지역 저장소(local repository)는 개인적으로 사용하는 저장소가 된다 실제 개발은 지역 저장소에서 이루어진다 또한 commit을 통해 지역저장소에 저장될 때, SVN은 변경된 부분만을 저장하지만 Git은 스냅샷 자체를 저장하게 된다 이 때 Git은 스테이징영역에 있는 데이터의 스냅샷에 대한 포인터, 커밋 메세지같은 메타데이터 등등의 커밋 Object를 저장한다 이런 .. 2020. 7. 9.
[Git] GitHub과 Git Bash 사용하기 https://github.com/ Build software better, together GitHub is where people build software. More than 50 million people use GitHub to discover, fork, and contribute to over 100 million projects. github.com 일단 github에서 New를 눌러서 레포지토리(원격저장소)를 하나 새로 만든다 여기 URL을 복사해둔다 그 다음에 Git Bash를 깐다 https://git-scm.com/ Git git-scm.com 깔고 전부 그냥 Next 눌러준다 그러고 이제 바탕화면에 아무 폴더를 하나 만들어준다. 그리고 거기에 마우스 우클릭을 하면 이런게 뜬다 Gi.. 2020. 7. 9.
[SVN] CentOS 7에 SVN 저장소 만들고 윈도우로 접속하기 1. subversion을 설치해준 후 확인 yum install -y subversion rpm -qa | grep subversion 2. SVN 저장소 저장할 폴더 생성 cd / mkdir svn_repos 3. /etc/sysconfig/svnserve 파일 수정 (svn 저장소 관리할 폴더 지정) vi /etc/sysconfig/svnserve 4. 방화벽 해제 SVN의 기본 포트는 3690이라고 한다 firewall-cmd --permanent --zone=public --add-port=3690/tcp firewall-cmd --reload 5. SVN 실행 후 확인 systemctl start svnserve.service ps -ef | grep svn netstat -anp | grep.. 2020. 7. 8.