본문 바로가기
Git

GitLab CI/CD] 4. rsync로 웹서버에 파일전송하기

by Fastlane 2022. 12. 30.
728x90
반응형

3번글의 scp는 디렉토리 내 모든 파일을 복사하는 방법이다. 전체 소스 파일 중에서, 내가 수정한 일부 파일만 빠르게 전송하고 싶다면 rsync를 사용해보자. 

 

rsync사용법

rsync options source destination

 

1. 웹서버의 소스폴더를 가상디렉토리로 gitlab서버에 연결한다. 

가상디렉토리 경로 : /testserver/testsite

 

2. 배포 시, rsync 스크립트 처리하기 

include와 exclude 옵션을 이용해서 복사할 파일을 추가하거나 제외할 수 있다. 

backup디렉토리, gitlab-ci.yml, *.config파일을 제외한다. 

test-job: # 임의로 지정한 JOB 이름
  stage: deploy
  only:
    - test #test branch에서만 실행됨
  before_script:
    - echo "sync start"
  script:
    - rsync -avhzr --exclude={'.gitlab-ci.yml', 'backup', '*.config'} ./project /testserver/testsite
  after_script:
    - echo "sync end"
  tags:
    - helloworld

소스를 test branch에 push하면 deploy단계에서 script를 실행하여 GitLab소스를 웹서버 가상디렉토리로 자동 배포해준다. 

728x90
반응형

댓글