WEBBOOK CHAPTER

개발 도구 제대로 쓰는 법: 22장. VS Code Task를 팀 실행 계약으로 만든다

22장. VS Code Task를 팀 실행 계약으로 만든다

task에는 사람이 외울 명령을 옮기는 것이 아니라 label, command, working directory, dependency order, problem matcher와 presentation을 명시한다. secret 값을 JSON에 넣지 않는다. build가 성공해야 test가 도는지, 서로 독립이면 병렬인지 설명한다. default task는 가장 안전하고 자주 쓰는 품질 gate로 둔다.


{
  "label": "quality",
  "type": "shell",
  "command": "npm test && npm run lint && git diff --check",
  "options": { "cwd": "${workspaceFolder}" },
  "problemMatcher": ["$tsc"],
  "group": { "kind": "test", "isDefault": true }
}

untrusted repository의 task는 code execution이다. 내용을 읽기 전 실행하지 않는다. 실패 test가 뒤 명령에 가려지지 않는지 exit code와 Problems panel을 확인한다.