Til Home

2020-05-18-TIL

Fact

  • 저번에 못 풀었던 프로그래머스에 있는 네트워크라는 문제를 성공적으로 풀었다. 푼 방식은

    해쉬테이블과 재귀를 이용하여 풀었다.

  • 오늘은 CD를 거의 마무리를 했다. 저번에는 ec2에 commit 한 파일을 가져와서 적절한 환경 변수 파일 .env를 bash 파일로 복사 한 후에 프로젝트를 실행했다. 이렇게 먼저 한 이유는 이미지를 가지고 실행을 하기 위해서는 한 단계를 더 거쳐야 해서 단계별로 실행하기 위해서 하나씩 실험을 했다. 저번에 이것을 성공적으로 했으니 오늘은 내가 포트폴리오에 그린 workflow를 최종적으로 맞추려고 했다. 그러기 위해서 나는 docker hub에서 image 파일을 가져와서 실행시켜야만 했다. 이것을 하기 위해서 bash 파일로 docker hub에서 pull 한 후에 이것으로 container를 띄우고 적절한 환경 변수를 쓸 수 있도록 적용을 했다. 또한 원래 local에서 git으로 push를 할 때 codeDeploy에 신호를 어떻게 주는지 몰라서 AWS CodePipeline을 썼었다. 이것을 쓰면 돈을 더 내야 해서 오늘 다른 방법을 강구를 했다. 문서를 보니 github에서 바로 deploy에 주는 방법을 우연히 찾았다. 사실 처음부터 이런 방법이 있을 줄 알았지만 명령어를 찾기가 너무 어려워서 포기를 했었지만 오늘은 그 명령어를 찾고 시행착오를 겪으면서 성공적으로 적용을 했다.
  • workflow

Feeling

  • 저번에 고집 때문에 이상하게 문제를 풀다가 결국에 문제를 못 풀었었다. 그러나 오늘은 그냥 통상적으로 dfs에서 쓰는 문제 풀이법을 쓰니 바로 풀었다. 역시 머리가 나쁘면 몸이 고생한다는 것을 느끼게 됐다.
  • 배포 그만하고 싶다. 그래도 거의 다 끝나 가니깐 기분이 좋다. 더 이상 보고 싶지가 않다. 배포 노이로제 걸릴 정도로 너무 괴로웠다.

Finding

  • github action 에서 CodeDeploy에 event를 줄려고 할때
 run: aws deploy --region ap-northeast-2 create-deployment --application-name 이름 --deployment-config-name 이름 --deployment-group-name 이름 --github-location repository=이름,commitId=${GITHUB_SHA}

를 쓰면 된다. 여기서 GITHUB_SHA는 최신 commitId를 불러서 쓰는 github action의 환경 변수이다.
https://help.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables#default-environment-variables

  • docker run 할 때 —env-file /path/to/env 를 쓰면 container를 실행하면서 그 위치에 있는 env파일을 쓸 수 있다.
  • CD는 Continuous Deploy가 아니라 Continuous Delivery다. 배포를 하는 게 아니라 배포할 것을 계속 전달을 하고 배포 실행은 수동으로 하는 방식이다. sever에서 배포할 파일을 pull, down, up은 수동으로 한다.
  • GitOps는 이 CD를 하는 방식 중 하나다. 버전 관리와 어떤 버전을 쓰는지 추적을 하기 위해서 서버용 repo를 따로 파서 여기서 배포할 프로젝트들을 버전별로 관리를 한다.

Future action

  • 문제를 풀 때 어떤 유형인지 파악하고 유형에 적합한 풀이법을 이용하여 풀도록 하자.
  • 오늘도 CD를 완성하려고 했으나 못 끝냈다. 중간에 dockercompose를 써서 완성을 하려고 했으나 적용을 잘 못해서 결국엔 쉬운 방법으로 갔다.

    이로 인한 시간 낭비로 오늘 CD 구성을 완료하지 못했다.

. 다음에는 쉬운 방법이 있다면 그 방법으로 실행을 한 후에 더 어려운 방법으로 해보도록 하자.

우선 Quantity부터 취하고 점진적으로 Quality를 높이도록 해보자.

Feedback