Git
GitLab CI/CD] 3. Openssh 설정, scp로 웹서버에 파일전송하기
Fastlane
2022. 9. 6. 09:34
728x90
반응형
GitLab서버에서 웹서버로 파일을 복사하기 위해서는 Openssh 설정이 필요하다.
1. GitLab 서버 로컬에 SSH Key를 생성한다.
$ ssh-keygen -t rsa
Enter file in which to save the key (/root/.ssh/id_rsa): # enter
Created directory '/home/helloworld/.ssh'.
Enter passphrase (empty for no passphrase): # enter
Enter same passphrase again: # enter
Your identification has been saved in /home/helloworld/.ssh/id_dsa.
Your public key has been saved in /home/helloworld/.ssh/id_dsa.pub.
/home/helloworld/.ssh/ 경로에 Key가 생성되었는지 확인한다.
id_dsa. : 개인키
id_dsa.pub : 공개키
2. 웹서버에 공개키를 세팅한다.
웹서버에 경로(/home/helloworld/.ssh/)를 미리 설정해둔다.
공개키를 웹서버로 전송한다.
scp /home/helloworld/.ssh/id_dsa.pub 계정@아이피:/home/helloworld/.ssh/authorized_keys
Password:비밀번호입력
윈도우 웹서버에서는 Openssh 별도 설치가 필요하다.
이제, 비밀번호 없이 GitLab서버에서 웹서버로 파일을 올릴 수 있다.
3. 배포 시, scp 스크립트 처리하기
scp -r ./project admin@111.111.11.111:/d:/project
scp -r ./project : 디렉토리 내 모든 파일/디렉토리 복사
admin@111.111.11.111 : admin(GitLab 서버 id), 111.111.11.111(GitLab ip)
/d:/project : 웹서버 내 파일 저장 경로
test-job: # 임의로 지정한 JOB 이름
stage: deploy
only:
- test #test branch에서만 실행됨
before_script:
- echo "deploy start"
script:
- scp -r ./project admin@111.111.11.111:/d:/project
after_script:
- echo "deploy end"
tags:
- helloworld
소스를 test branch에 push하면 deploy단계에서 script를 실행하여 GitLab소스를 웹서버로 자동 배포해준다.
728x90
반응형