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
반응형
'Git' 카테고리의 다른 글
Git의 원리] 5. git merge, conflict (TortoiseGit) (0) | 2022.09.06 |
---|---|
Git의 원리] 4. git stash (0) | 2022.09.06 |
Git의 원리] 3. git branch, merge (0) | 2022.08.26 |
Git의 원리] 2. git commit (tree, commit) (0) | 2022.08.25 |
Git의 원리] 1. git add (index, object, blob) (0) | 2022.08.24 |
댓글