오늘 한 일

  • 2주에 한 번씩 월요일은 한 스프린트의 마지막날이 된다. 오늘이 그날이었고, 따라서 지난주 금요일에는 이번 스프린트에서 개발한 기능들이 제대로 돌아가는지 내부 테스트와 마무리 작업을 거쳤다.
  • 그러나 항상 그렇듯, 꼭 거의 마지막이 되어서야 급하게 해야 하는 작업이 생긴다거나, 그동안 풀리지 않던 것이 그제야 실마리를 내보인다거나, 또는 평소와는 다른 집중력이 발휘되어 일의 효율이 높아지기 일쑤지만 이건 내가 평소 게을러서인 것 같다. 아무튼 금요일 업무 시간이 끝나기 1~2시간 전에 여러 pr들이 올라갔고 동시다발적으로 각 피쳐 브랜치에서 dev로 머지 되었다.
  • 그리고 그렇게 잘 마무리된 줄 알았지만, 주말 내내 푹 쉬고 가볍게 시작한 월요일 아침에 지난 주까지의 작업들이 개발 서버에 잘 올라갔는지 확인하던 찰나 뭔가 이상하다는 걸 깨달았다. 별다른 특이사항은 없었던 것 같은데 해당 기능이 반영되지 않은 것이었다.
  • 급히 민에게 확인을 부탁했고, 그래서 aws elastic beanstalk 로그를 확인해 보니 헬스 체크에 문제가 있었고, 이것저것 찾아보다가 덴마에게 여쭤본 결과 아무래도 pr이 동시에 올라가 똑같은 워크플로우가 여러 개 돌다 보니 충돌이 일어난 것 같다는 결론을 주셨다.

오늘 배운 것

  • 배포할 때 깃헙 액션에서 사용하는 워크플로우 yaml 파일에 concurrency라는 설정을 넣으면, 같은 그룹으로 묶인 워크플로우는 한 번에 하나만 실행된다. 이미 같은 워크플로우, 또는 같은 그룹의 워크플로우가 실행되고 있는 경우, 실행 중인 워크플로우를 취소하고 새로운 워크플로우를 실행할 수도 있다.
concurrency:
	group: ${{ github.ref }} # 또는 github.base_ref, github.head_ref를 넣기도 한다.
    	cancel-in-progress: true
  • 공식문서에 나와 있는, concurrency 설정에 대한 자세한 설명.
 

Workflow syntax for GitHub Actions - GitHub Docs

About YAML syntax for workflows Workflow files use YAML syntax, and must have either a .yml or .yaml file extension. If you're new to YAML and want to learn more, see "Learn YAML in Y minutes." You must store workflow files in the .github/workflows directo

docs.github.com

  • concurrency 이외에도, 효율적이고 경제적인 github CI workflow 설정에 대해 정리한 블로그 글이다.
 

Home

yceffort

yceffort.kr

 

오늘 한 일

  • 어제부터 연습 삼아 떨어진, 말하자면 '회사 홈페이지 클론코딩' 작업을 하고 있다. 작업 순서도 내 맘대로, 커밋도 내 맘대로, 폴더 구조도 내 맘대로, 아무리 연습이라 해도 처음부터 너무 엉망으로 시작한 게 아닌가 싶다. 착수하기 전에 뭔가 계획을 짜고 시작해야 했나? 매일 공식문서들만 들여다 보다가 오랜만에 코딩만 해도 되는 시간이 오니 반가워서 이성을 잃었었나.. 하지만 이미 돌이키긴 늦었지.
  • 나는 지금까지 프로젝트를 하면서 깃허브만 이용했었는데, 회사에서는 비트버킷에서 코드를 관리한다. 처음으로 깃허브가 아닌 다른 플랫폼을 접해봤고, 말로만 들었던 소스트리도 한정적인 부분에서나마 직접 사용하게 되었다.
  • 환경이 약간 달라져서 그런지 git add 해놓고 금방 후회하고, commit 해놓고 또 후회하는 일이 자꾸만 생겼다. 이것까지 추가해서 넣었어야 했는데...!!

오늘 배운 것

  • 그래서 준비한 git add, commit, push 되돌리는 방법 링크
 

[Git] git add 취소하기, git commit 취소하기, git push 취소하기 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

  • 예전 글이긴 하지만 깃허브, 비트버킷, 깃랩은 여러 차이점이 있다고 한다.
 

깃허브 대 비트버킷 대 깃랩: 개발자의 마음을 사기 위한 치열한 경쟁

오늘날의 소프트웨어 개발은 너무 복잡해져서 만들어야 할 소프트웨어를 이해하고 제작하는 데 도움이 되는 소프트웨어를 만들어야 할 판이다. 코드가 코드를 낳고, 그 코드가 또 다른 코드를

www.itworld.co.kr

+ Recent posts