Git 버전 2.3보다 오래된 임대 서버에 Git 배포

5769 단어 Git
이번 대여 서버에서 제공하는 Git 버전
2.3보다 오래된 상황에서 Git로 배치하는 방법을 정리하고 싶습니다.
본사 환경에서 임대 서버에 Git 환경 구축
비트박스와 같은 위탁 관리 서비스의 지점을 업데이트하면
업데이트 내용push, 임대 서버에 배치합니다.
그러나 대여 서버에 설치된 Git 버전이 2.3보다 오래된 경우
설정할 수 없음 git config receive.denyCurrentBranch updateInstead임대 서버의 누드 저장소를 통해 임대 서버에 한 번 반영해야 합니다.
곰 자료고와 비곰 자료고의 차이git config receive.denyCurrentBranch updateInstead의 설정에 대한 상세한 상황은 다음과 같은 멋진 보도가 참고 가치가 있다.
누드 저장소 및 비누드 저장소: 이론편~Git 관리 Wordpress 주제
Git는 v2.3.0이며 Deploy로 푸시 가능
반년 정도 배포 환경을 구축할 때
다음 서버의 Git 버전은 2.3보다 오래되었습니다.
  • 하이템
  • 막대사탕
  • X 서버
  • 생성 과정


    단계의 다양한 정보

  • 임대 서버 호스트 이름:rental-server
  • 임대 서버 로그인 계정:rental
  • 대여 서버 SSH 포트: 22
  • 모든 디렉토리:/home/rental/
  • 물리적 저장소의 디렉토리 이름:
    bare-dir
  • 비누드 저장소의 디렉터리 이름:non-bare-dir
  • 비노출 저장소에서 반영할 지점: master
  • 배치 방법:bitbucket의pipeline 기능
  • 대여 서버 측면 단계

  • SSH를 통한 대여 서버 로그인
  • ssh rental@rental-server -p22 #ssh アカウント名@サーバー名 -pポート番号
    
  • 로그인 후 임의의 디렉터리로 이동하여 누드 저장소에 대한 디렉터리와 비누드 저장소에 대한 디렉터리를 만듭니다
  • 
    cd /home/rental/ #任意のディレクトリに移動
    mkdir bare-dir #ベアリポジトリ用のディレクトリを作成
    mkdir non-bare-dir #ノンベアリポジトリ用のディレクトリを作成
    
  • 물리적 저장소 초기화
  • 
    cd /home/rental/bare-dir/ #ベアリポジトリ用のディレクトリに移動
    git "init --bare --shared" ##ベアリポジトリの初期化
    
  • post-update 만들기
  • post-update는 누드 저장소로 전송될 때의 행동을 설명할 수 있는 파일입니다.
    
    cd /home/rental/bare-dir/hooks/ #post-updateの格納先に移動
    cp -p post-update.sample post-update #post-updateのサンプルから複製
    
  • post-update 편집
  • post-update
    #!/bin/sh
    
    branch=$(git rev-parse --symbolic --abbrev-ref $1)
    
    if [ "$branch" = "master" ] #ベアリポジトリにmasterブランチがプッシュされた場合の動作
    then
            cd /home/rental/non-bare-dir/ #ノンベアリポジトリ用のディレクトリに移動
            git --git-dir=.git pull /home/rental/bare-dir/ master #ベアリポジトリからmasterブランチをpull
    fi
    
    post-update를 제외하고 hooks 진단에 있는 Post-receive 파일도 전송할 때의 동작을 기술할 수 있습니다.
    그러나post-update는push시 각 지점에 따라 동작을 분리해서 기술할 수 있습니다.
    ※ 프레젠테이션 사이트와 생산 사이트의 공개 디렉터리가 임대 서버에 존재할 때 개발자 지점은 프레젠테이션 사이트용 공개 디렉터리에 반영되고, 마스터 지점은 생산 공개용 디렉터리에 반영된다.
  • 누드 저장소를 비누드 저장소로 저장
  • 
    cd /home/rental/non-bare-dir/ #ノンベアリポジトリ用のディレクトリに移動
    git clone /home/rental/bare-dir/ #ベアリポジトリ用からクローン
    mv ./bare-dir/* ./ #ベアリポジトリのファイルを移動
    rm -fr ./bare-dir #クローンしてきたベアリポジトリ用のディレクトリを削除
    
    이렇게 하면 대여 서버 측의 설정이 끝난다.

    비트박스에서 배치


    리본에서 를 클릭합니다.
    나는 아래의 보도를 참고할 수 있다고 생각한다.
    비트박스의 Pipelines 시도
    문장 내bitbucket-pipelines.yml와 각종 변수 설정을 이번 용도로 바꾸는 경우
    다음과 같습니다.
    bitbucket-pipelines.yml
    pipelines:
      branches:
        master:
          - step:
              deployment: production
              script:
                - git remote add prod ssh://$PROD_SSH_USER@$PROD_SSH_SERVER:$PROD_SSH_PORT/$PROD_SOURCE_DIR
                - git fetch
                - git push prod master
    

    총결산


    대여 서버에 따라 Git 버전이 다릅니다.
    계획된 기술 등을 보더라도 판본에 관한 기술은 거의 쓰지 않았다
    구축할 때 참고가 됐으면 좋겠어요.
    또한 임대 서버 계약에 따라 SSH를 사용할 수 없는 경우도 있습니다
    이런 상황에 대한 대응도 다른 기회로 정리하고 싶습니다.

    좋은 웹페이지 즐겨찾기