Bitbucket Pipelines을 사용하여 리포지토리의 병합 된 분기를 정기적으로 삭제

전제



Bitbucket Pipelines란 무엇입니까?



Bitbucket 용 CI/CD 용 기능.

리포지토리에의 코드의 push 등을 트리거로서, docker 컨테이너상에서 스크립트를 실행할 수 있다.

병합된 원격 분기를 일괄 삭제하는 명령


git branch -r --merged origin/master | grep -v master | grep -v release | sed -e "s% *origin/%%" | xargs --no-run-if-empty -Ibranch git push origin :branch

grep -v 곳은 각 프로젝트에 맞추어 삭제하고 싶지 않은 브랜치를 지정하는 것

참고 : Git에서 원격 병합 된 분기를 일괄 삭제 @fukayatsu

설정 절차



Pipelines 용 SSH 키 설정



리포지토리의 페이지의 設定 > PIPELINES > SSH Keys 로부터 비밀키·공개키의 페어를 등록.



「Generate keys」로 작성한 키 페어의 공개키를 팀에 등록할 수 있으면 베스트.

그렇게 할 수 없으면 자신의 계정에 등록한다(자신의 계정에서의 조작이 되므로 주의).

Pipeline 등록



응용 프로그램 루트에 bitbucket-piepelines.yml 라는 파일을 다음의 내용으로 작성 (이미 존재하는 경우 편집하여 설정을 추가).

bitbucket-pipelines.yml
pipelines:
  custom:
    prune-branches: # 自由に設定可(表示用の名前)
      - step:
          image: alpine/git
          script:
            - git fetch
            - git branch -r --merged origin/master | grep -v master | grep -v release | sed -e "s% *origin/%%" | xargs --no-run-if-empty -Ibranch git push origin :branch


지금까지 수동 실행이 가능합니다.

브랜치의 Run pipeline for a branch 또는 커밋의 Run pipeline에서 클릭하면 다음과 같은 모달 창이 열리므로 Run을 클릭하면 Pipeline이 실행 시작됩니다.





Pipeline 실행 스케줄 설정



하기 페이지(공식 문서)의 「2. Create a schedule」에 따라 설정.

리포지토리 페이지의 "Pipelines"에서 Schedules > New schedule를 선택합니다.



브랜치(※)와, 방금 등록한 Pipeline, 실행 시간을 선택하고 「Create」를 클릭하면 등록 완료.

※ 이번 Pipeline 은 실행 내용이 브랜치에 의존하지 않으므로, 어느 것이어도 좋다.



등록된 것은 화면상에서 확인할 수 있다.

좋은 웹페이지 즐겨찾기