Danger: 풀 리퀘스트(Pull Request) 에티켓을 공식화하세요
요약
Danger는 CI(지속적 통합) 과정에서 실행되어 코드 리뷰 작업을 자동화하는 도구입니다. 이를 통해 팀이 변경 로그 강제 적용, 특정 링크 포함 여부 검사 등 반복적인 규범을 코드로 만들어 관리할 수 있습니다. Danger는 플러그인 시스템을 제공하여 팀 문화에 특화된 규칙을 쉽게 구현하도록 돕습니다.
핵심 포인트
- CI 과정에서 코드 리뷰 자동화를 지원하는 도구입니다.
- 변경 로그, 링크 포함 여부 등 반복적인 규범을 코드로 강제할 수 있습니다.
- 플러그인 시스템을 통해 팀 맞춤형 규칙을 구축하기 용이합니다.
Danger :no_entry_sign:
풀 리퀘스트 에티켓을 공식화하세요.
<p align="center"> <a href="#what-is-danger">Danger란 무엇인가?</a> • <a href="VISION.md">비전</a> • <a href="#im-here-to-help-out">도움이 필요합니다!</a> • <a href="https://danger.systems/guides/creating_your_first_plugin.html">플러그인 개발</a> </p>
Danger란 무엇인가?
Danger는 CI(지속적 통합) 과정 중에 실행되며, 팀이 일반적인 코드 리뷰 작업을 자동화할 기회를 제공합니다.
이는 프로세스에 또 다른 논리적 단계를 제공하며, 이를 통해 Danger는 일상적인 코드 리뷰에서 반복적인 업무를 검사하는 데 도움을 줄 수 있습니다.
Danger를 사용하여 팀의 규범을 코드로 만들 수 있습니다. 인간이 더 어려운 문제에 대해 생각하도록 남겨두세요.
예를 들면?
다음과 같은 작업을 할 수 있습니다:
- CHANGELOG(변경 로그) 강제 적용하기
- PR/MR 본문에 Trello/JIRA 링크 강제 적용하기
- 설명적인 레이블 사용 강제 적용하기
- 일반적인 안티 패턴 감지하기
- 흥미로운 빌드 아티팩트 강조 표시하기
- 특정 파일에 추가 초점 제공하기
Danger는 팀 문화에 특화된 규칙을 만들 수 있도록 연결고리(glue)를 제공하며, 유용한 메타데이터와 공통 문제를 공유할 수 있는 포괄적인 플러그인 시스템을 제공합니다.
시작하기
좋습니다. 사실, 당신은 잘못된 곳에 있을 수도 있습니다. 지금부터 이 README는 Danger를 작업하고 개선하는 데 관심이 있는 사람들을 위한 것입니다.
모든 최종 사용자 문서는 https://danger.systems에서 확인할 수 있습니다.
빠른 링크: 가이드 인덱스, DSL 레퍼런스, 시작하기 및 Danger는 무엇을 하는가?.
도움이 필요합니다!
훌륭하네요. 자, 설정을 시작해 봅시다.
이 과정을 통해 모든 것이 설정되고 모든 테스트가 실행됩니다.
이론 (Theory)
Danger에는 Danger에 대한 아이디어를 요약한 VISION.md 파일이 있습니다. 이는 Danger가 의미하는 바의 최소 기준입니다. Orta는 또한 Artsy 블로그에서도 Danger를 다루고 생성하는 방법에 대해 글을 썼습니다.
문서화 (Documentation)
작성한 코드는 웹사이트의 공개 부분에 올라갈 수 있습니다. 이를 가장 쉽게 알 수 있는 방법은 그것이 지나치게 많은 문서화를 가지고 있다는 것입니다. 만약 과도하게 문서화된 것처럼 보이는 공간에서 작업하고 있다면, 문서를 추가할 때 특히 신중을 기해 주십시오. 저희는 그 문서의 소비자가 Ruby 개발자가 아닐 것으로 예상하므로, 특정 전문 용어 사용은 피하고 중복되거나 겹치는 예시를 제공하도록 노력해야 합니다.
테스트 (Testing)
지금까지 저희는 CLI 명령어에 대한 올바른 테스트 방법을 제대로 찾아내지 못했습니다. 그렇게 했더라도 깨지기 쉬운(brittle) 테스트가 되었습니다. 따라서 이상적으로는, 명령어가 수행하는 모든 로직을 별도의 클래스로 옮기고 그 클래스들을 테스트하는 것이 좋습니다. 명령어 자체의 커버리지는 괜찮지만, 이상적으로는 그것이 하는 일을 구성하는 클래스들이 커버리지를 갖추어야 합니다.
작업하면서 테스트를 실행하기 위해 bundle exec guard 사용을 강력히 권장합니다. lib나 specs에서 변경 사항을 적용하면 해당 테스트가 즉시 실행됩니다.
디버깅 (Debugging)
Ruby는 매우 동적입니다. Ruby 코드를 디버깅하는 가장 좋은 방법 중 하나는 pry를 사용하는 것입니다. 개발자를 위해 pry를 포함했습니다: 문제가 발생하면, 문제 바로 앞에 이 두 줄을 복사하여 붙여넣고 "I Want To Be A Danger Wizard"의 지침을 따르십시오.
require 'pry'
binding.pry
라이선스, 기여자 가이드라인 및 행동 강령 (License, Contributor's Guidelines and Code of Conduct)
우리는 가능한 한 많은 논의를 GitHub 이슈에서 진행하려고 하지만, Slack은 비교적 비활성화되어 있습니다. 만약 초대받고 싶다면, 트위터에서 @Orta에게 이메일과 함께 DM을 보내주세요. 이는 주로 GitHub의 모든 이메일을 받지 않으면서 Danger에 대한 최신 정보를 유지하고 싶은 분들에게 흥미로울 것입니다。
이 프로젝트는 MIT 라이선스 하에 오픈 소스로 공개되어 있으며, 이는 여러분이 소스 코드에 완전히 접근하여 자신의 필요에 맞게 수정할 수 있음을 의미합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Codex tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기