20200622 yarn, serverless, git commit 정석

2020. 6. 22. 22:05개발/오늘의 소소한꿀팁

1. yarn

전에 있던 회사에서 내가 처음부터 배포하고 이런 과정을 해보지 않고 기존의 존재하던 시스템을 계속해서 수정하는 수준이었어서 혼자 제대로 된 배포를 해본 적이 없다. 그렇다보니 yarn이 뭔지, 얘네들이 뭔지 알 필요가 없으니 관심 밖이었다...(처음 개발을 시작했으니 django graphql docker등을 파악하기도 벅찼다...) 그런데 지금 회사 와서 직접 배포하며 알아보니 별거 아니었다... 프로젝트를 진행하다보면 의존 성 관리가 어려워 지는데, yarn_modules에 그 정보를 모두 넣어 굉장히 편리하게 협업이 가능하게 된 시스템이다. 처음에 해당 프로젝트 폴더에서 yarn init을 커맨드창에서 입력하면 package.json이 생성된다. 보통 다음과 같은 형태이다. 

{
  "name": "project-name",
  "version": "0.0.1",
  "repository": "git@github.com:company/project.git",
  "author": "sejin-P <chunpark37@gmail.com>",
  "license": "MIT",
  "scripts": {
    "dev": "serverless offline start",
    "start:server": "go run ./cmd/server",
    "start:cron_job": "go run ./cmd/cron_job",
    "deploy:dev": "make all && sls deploy --stage debug --verbose",
    "deploy:prod": "make all && sls deploy --stage release --verbose"
  },
  "devDependencies": {
    "serverless": "^1.72.0",
    "serverless-offline": "^6.3.2"
  },
  "dependencies": {
    "serverless-mysql": "^1.5.4"
  }
}

(사실 내가 좀 추가한 형태이긴 하다.)

원하는 설정을 추가하고 나면  yarn을 입력하여 yarn_modules를 생성한다. 그리고 난 다음에 serverless.yml에서 본인이 원하는 대로 하면 원하는 serverless 설정을 할 수 있다.(사실상 yarn 설명이 아니라 serverless 설명임ㅎㅎ)

 

2. serverless

모든 serverless 설정값:

https://www.serverless.com/framework/docs/providers/aws/guide/serverless.yml/

 

Serverless Framework - AWS Lambda Guide - Serverless.yml Reference

A list of all available properties on serverless.yml for AWS

www.serverless.com

 

3. git commit

전의 회사에서도 commit message에 별 다른 말을 들은 적 없어서 진짜 멋대로 작성했었다. 그런데 알고보니 다음과 같은 정석이 있었던 것..!

https://www.conventionalcommits.org/en/v1.0.0/

 

Conventional Commits

A specification for adding human and machine readable meaning to commit messages

www.conventionalcommits.org

새로운 feature가 추가되는 거면 feat: feature 내용 어쩌구, 간단한 수정 사항이면 refactor: 어쩌구저쩌구, 뭐 이런식이다. 이렇게 규격을 맞춰서 적으니 뭔가 더 깔끔한 느낌이 있다.