bitbucket-sync를 사용하여 서버 자동화를 시도했습니다.

3783 단어 GitBitbucket
Gitlab의 Web hook을 사용하여 자동화가 잘되지 않아서 시험에 Bitbucket의 bitbucket-sync로 서버 업데이트를 해 보았습니다.
리모트 리포지토리에 푸시한 타이밍으로, 개인 서버에 반영한다고 하는 것이 됩니다.

작업 흐름


  • 로컬에서 파일 편집 (커밋 푸시)
  • Bitbucket 측 리포지토리 업데이트
  • Bitbucket Webhooks로 서버에 알림
  • 서버에서받은 정보를 기반으로 Bitbucket에서 차등 데이터를 가져옵니다.
  • 서버의 공개 디렉토리에 복사/반영

  • 설정



    【bitbucket-sync】다운로드



    다음 URL에서 bitbucket-sync를 다운로드합니다.

    htps : // 기주 b. 코 m / 아 ぁ ん d 루 / 비 t 부 c 케 t syn c /

    설정 파일 만들기



    다운로드가 완료되면 config.sample.php를 config.php로 이름 바꾸기
    config.php의 다음 부분 편집
    'deployBranch' => 'master',   // ブランチを指定する
    
    /** The ID of an user with read access to project files */
    'apiUser' => 'Bitbucketのユーザー名',
    
    /** The password of {apiUser} account */
    'apiPassword' => 'Bitbucketのパスワード',
    
    'requireAuthentication' => true,        //trueに変更
    'deployAuthKey' => '',
    'gatewayAuthKey' => 'ここにKeyを入れる(何でもOK)あとでブラウザで叩く時に必要',
    
    $DEPLOY = array(
        'Bitbucketのリポジトリ名' => 'コピー先のディレクトリを指定',
    );
    
    

    PHP 파일 세트를 공개 디렉토리에 업로드



    폴더 이름을 이름 바꾸고 공개 디렉토리에 업로드
    내 환경에서는 다음 디렉토리에 업로드했습니다.
    /var/www/ドメイン名/public_html/bitbucket/
    
  • 업데이트하려는 디렉토리의 권한을 '777'로 변경
  • bitbucket-sync의 커밋도 '777'로 설정
    (gulp 등에서 편집 소스와 출력 HTML을 구분하기 때문에 도메인 이름 디렉토리를 변경했습니다.)

  • 데이터를 검색할 수 있는지 테스트 프로그램 실행



    Webhooks로 설정하기 전에 작동하는지 확인합니다.

    아래 URL을 브라우저에서 실행
  • http://domain/bitbucket/deploy.php?setup=리포지토리 이름
  • 기본 인증이 있으면 http://[Basic 인증 ID]:[Basic 인증 암호]@[도메인]/bitbucket/deploy.php?setup=리포지토리 이름

  • 성공하면 다음 메시지가 표시됩니다.
    BitBucket Sync – Full Deploy
    ============================
    Finished deploying リポジトリ名
    

    bitbucket 관리 화면에서 Webhooks 설정



  • h tps : // / t t c c t. 오 rg에 로그인
  • 내 저장소
  • Settings
  • Webhoooks Add webhook을 클릭하십시오
  • 제목은 무엇이든 OK
  • URL 부분은, 「http://【Basic 인증 ID】:【Basic 인증 패스워드】@【도메인】/bitbucket/gateway.php?key=【설정한 gatewayAuthKey】”
  • Save







  • Git에서 파일을 편집하고 반영하는지 확인


    git add .
    git commit -m 'test commit'
    git push origin master
    

    이것으로 반영하면 동작 OK가 됩니다.
    간이적인 사이트이거나 프리뷰 사이트의 코딩을 서버에 올릴 때는 편리한 툴이라고 생각합니다.
    개인적인 것은 이것으로 진정하고 싶습니다.

    참고 사이트


  • 프로덕션 서버에 FTP 업로드를 중지하고 Bitbucket과 자동 연계합니다.
  • Bitbucket으로 푸시하면 테스트 서버 (프로덕션 서버)에 자동으로 배포하고 싶습니다.
  • Bitbucket에서 사쿠라 렌탈 서버 (스탠다드 플랜)에 자동 배포
  • Bitbucket 자동 배포 테스트
  • 좋은 웹페이지 즐겨찾기