목록DevOps/Git (7)
규도자 개발 블로그
github actions의 자세한 실행환경 + 요청 IP 알아보기 업무 중 이런 일이 있었다. 온프레미스로 운용되고 있는 서버에 gitOps를 도입해야 했지만 k8s상에서 노드로 잡혀 있는 서버가 아니었으므로 argoCD같은 걸로 디플로이먼트가 참조하여 서비스를 갱신할 수 있을만 한 manifest파일도 없었다. 결국 github actions상에서 ssh 접속을 통해 이미지를 pull 받는 스크립트를 실행하는 형태로 구현하는 것으로 가닥이 잡혔는데 이상하게 접속이 안되는 것이다. 내가 이럴 때마다 자주 표현하는 방식이 있는데 진짜 때려 죽여도 접속이 안됐다. 그때 사용했던 건 https://github.com/appleboy/ssh-action 여기서 제공하는 action이었다. 그래서 혹시 이 프로..
github actions로 자동 1일 1커밋 봇 만들기 그냥 재미있는 생각이 들었다. 1일 1커밋을 생활화하려는 개발자들이 있지만 그게 또 힘드니 이걸 github actions로 해결하면어떨까(?)하는 그런 생각 말이다. 알다시피 github actions에는 PR이나 push등의 이벤트에만 작동하는 것이 아닌, 일정 시간마다 작동하는 workflow또한 작성할 수 있다. 진짜 간단한 scheduled.yml을 작성해보자. 아, 모든 과정은 내가 인프라 공부할 때 사용하는 https://github.com/jujumilk3/infra-study 이 레포지토리에서 진행할 것이니 행여 나중에 진행과정을 참고할 사람이 있다면 해당 저장소의 커밋 내역을 따라가보면 될 것이다. 그리고 Actions칸에 있는 ..
django로 github actions찍먹해보기 github actions라고 요즘 핫한 친구가 있다. 간단하게 말하자면 github actions를 설정한 저장소에 특정 이벤트가 일어나면(push를 했을 때나 정해진 시간 등) 정해놓은 워크플로우를 자동으로 실행하게 해주는 기능이다. 일종의 CI/CD작업을 깃허브에서 실행하게 만들 수도 있는 셈이다. 그래서 보통 jenkins에서 수행하던 CI작업을 github actions로 많이 옮기는 추세이다. 허나 완전한 무료는 아니라는 걸(2,000 Actions minute/month FREE) 알아둬야 한다. github에서 직접 지원하는 기능일 뿐더러 build, test, package, release, deploy 등 다양한 이벤트를 기반으로 직접 ..
오늘 깃허브 계정을 점검해봤는데 아직도 전직장의 github repository에 내가 등록이 돼있었다. 원래는 그냥 로컬에서만 개인적으로 공부하고 있는 걸 push하는 용도로 썼는데 요즘 fastapi 기여때문에 자주 들어가보게 돼서 발견했다. 보안문제도 있고 할 텐데 왜 내가 아직도 등록이 돼있을까. 아마 발견하기 힘들어서 잊은 게 아닐까 하는 추측 뿐이다. 그리고 당연스레 나 스스로 collaborator를 끊어서 해당 repo를 안볼 수 있지 않을까 싶었는데 아니었다. 레포 세팅에 접근할 권한이 없기 때문에 내가 날 없앨 수 없었다. 방법은 다음과 같다. 그냥 그 유저를 block했다가 다시 풀면 된다. 저 버튼을 눌러서 계정을 Block하고 다시 settings에서 풀면 된다. 그럼 해당 계정과..
깃훅은 깃에서 특정 동작을 줬을 때 정해진 시점에 스크립트를 실행하게 하는 것이다. 어떤 깃훅이 만들어져있나 궁금하면 자신이 로컬에 받아둔 아무 깃 프로젝트에 들어가서 .git/hooks/ 내부에 어떤 파일들이 있는지 보면 된다. 간단하게 스샷으로 보자면 이렇게 있다. 각 스크립트가 정확히 어떤 시점에 실행되는지는 이곳을 참조하면 된다. 뭐 암튼 파일 이름에서 유추할 수 있듯이 .sample이라는 suffix만 지워주면 각 훅의 시점에 작성된 스크립트가 실행된다. 한 예로 이번 포스팅에서 다뤄볼 pre-commit.sample파일을 수정해서 precommit기능을 사용해보자. 이렇게 내가 hook에 써놨던 echo부분이 실행되면서 커밋이 진행되는 걸 알 수 있다. 뭐 대충 git hook은 이렇게 작성해..
git 저장소 바꾸는 방법 깃허브의 private저장소가 무료로 풀렸다. 전엔 월 6$의 과금을 해야지만 이용할 수 있었는데 말이다. 마이크로소프트가 깃허브를 인수하고 과금정책을 올 1월부터 바꾼 거였는데 어제사 알게 됐다. 마침 어제가 만우절이어서 진짠가 했더니 진짜더라. 해서 원래는 gitlab에서 진행중이었던 개인프로젝트를 깃허브로 전부 옮겼다. 옮긴 김에 깃 repository를 변경했을 때 썼던 방법을 남겨놓으려 한다. $ git remote -v # View existing remotes origin https://github.com/user/repo.git (fetch) origin https://github.com/user/repo.git (push) $ git remote set-url ..
이미 있는 디렉토리에서 git 설정하기다른 사람들은 모르겠지만 나는 이상하게 먼저 git repository를 만들기보단 먼저 작업을 하다가 git을 설정할 때가 많은 것 같다. 하지만 이 방법은 먼저 repo를 만들고 clone을 뜨는 것보다 좀 더 여러과정이 필요해서 글로 남겨놓으려 한다. #해당 디렉토리로 이동하여 git 초기화 $ git init #주소 추가 $ git remote add origin {git address} #혹은 주소 변경 $ git remote set url origin {git address} #코드 업로드 $ git push origin master #코드 다운 $ git pull origin master #히스토리 때문에 안받아지는 경우가 있을 땐 $ git pull o..