rubocop --auto-correct 보정 결과를 자동으로 PR로 설정

rubocop 은 구문 분석 도구입니다.
예를 들어 ruby로 String형을 정의할 때는, 싱글 쿼트를 사용하게 하는 것이 표준적인 규약이므로, rubocop 는 위반한 부분의 코드를 가르쳐 줍니다.
단지 싱글 쿼트가 되어 있지 않다고 하는 간단하게 수정할 수 있는 것은, 가르쳐 주는 것보다 수정해 주는 편이 편리하므로 --auto-correct 옵션을 붙여 자동 보정하는 것이 편리합니다.

오늘은 CircleCI에서 rubocop --auto-correct를 실행하여 보정한 차이를 Pull Request로 해주는 gem을 공개했기 때문에 소개합니다.

rubocop-automata



rubocop-automata은 CircleCI에서 rubocop --auto-correct를 실행하여 보정 결과를 풀 요청으로 만듭니다.



install


Gemfile 에 추가하여 bundle install 또는 gem install .
gem 'rubocop-automata'

or
$ gem install rubocop-automata

GitHub Personal access token



CircleCI에서 Pull Request를 만들 수 있도록 Personal access token을 발행하십시오.


Generate token 버튼을 누른 후 액세스 토큰을 클립 보드에 복사합니다.

CircleCI Environment Variables(BUILD SETTINGS)



[BUILD SETTINGS] -> [Environment Variables] -> [Add Variable]에서 GITHUB_ACCESS_TOKEN 를 키에 access token을 등록합니다.



CircleCI 구성



GitHub에 등록된 계정의 email 및 username을 인수로 사용하여 rubocop-automata 명령을 실행합니다.
version: 2

jobs:
  build:
    working_directory: /usr/src/app
    docker:
      - image: ruby:2.4.2-alpine3.6
    steps:
      - checkout
      - run: apk --update --upgrade add --no-cache git openssh curl
      - run: bundle install -j4 --retry=3
      - rubocop-automata <github email> <github username>


보정 결과에서 Pull Request 만들기





우선, CircleCI로 구문 분석해 자동 보정한 결과를 Pull Request할 수 있는 gem을 만들었습니다.
앞으로는 다른 CI 서비스에서도 이용하기 쉽도록 하거나 검증 대상의 코드를 커밋 범위로 좁힐 수 있도록 하고 싶습니다.

좋은 웹페이지 즐겨찾기