Git (GitHub) + VPS (Vultr)로 자동 배포 환경 구축
하고 싶은 일
환경
Vultr
Git(GitHub)
미리 "testing"이라는 저장소를 작성해 둡니다.
VPS(Vultr)
config 파일을 사용하여 SSH 연결을 허용합니다.
다음은 설명의 예입니다.
~/.ssh/configHost vultr
HostName 12.34.56.789
Port 22
User hoge
IdentityFile ~/.ssh/id_rsa
리포지토리
전통적인 방법으로 두 개의 저장소를 준비합니다.
config 파일을 사용하여 SSH 연결을 허용합니다.
다음은 설명의 예입니다.
~/.ssh/config
Host vultr
HostName 12.34.56.789
Port 22
User hoge
IdentityFile ~/.ssh/id_rsa
리포지토리
전통적인 방법으로 두 개의 저장소를 준비합니다.
비베어 리포지토리(로컬 리포지토리)
베어 리포지토리(원격 리포지토리)
이것이 다소 어렵지만 VPS에 두 저장소를 모두 넣습니다.
디렉토리 구조는 다음과 같습니다.
var
└── www
├── html
│ └── testing (ノンベアリポジトリー)
└── testing.git (ベアリポジトリー)
베어 리포지토리는 공개할 필요가 없기 때문에,
/var/www
부하로 하고 있습니다.흐름
로컬 리포지토리 → ①GitHub 리포지토리 "testing"
↓
②VPS 베어리포지토리 'testing.git'
↓
VPS 논베어 리포지토리 'testing'(공개)
※①과 ②는 동시에 push합니다.
절차
먼저 GitHub에서 'testing'을 /var/www/html
로 clone합니다.
cd /var/www/html
git clone https://github.com/{username}/testing.git
clone한 리포지토리를 기초로, 베어 리포지토리 「testing.git」를 /var/www
에 작성합니다.
cd /var/www
git clone -bare /var/www/html/testing testing.git
그런 다음 베어 리포지토리 "testing.git"의 후크를 설정합니다.
cd /var/www/testing.git/hooks
vi post-update
post-update#!/bin/sh
(cd /var/www/html/testing && git --git-dir=.git pull origin master)
파일에 실행 권한을 부여하여 움직이는지 확인합니다.
chmod a+x post-receive
./post-receive
다시 말해 GitHub에서 로컬로 'testing'을 clone하여 config 파일을 편집합니다.
clone 할 위치는 홈 디렉토리 바로 아래의 "git"폴더 아래에 있습니다.
~/git/testing/.git/config[remote "origin"]
url = https://{username}@github.com/{username}/testing.git
url = ssh://user@hostname:port/var/www/testing.git ←この行を追加
...
user, hostname, port는 VPS입니다.
로컬 ~/.ssh/config
에 따라 변경하십시오.
보충
혼자서 작업한다면 이것으로 문제 없다고 생각합니다.
그러나 여러 사람이 배포하기에는 충분하지 않으므로 Netlify 등을 고려하십시오.
참고
먼저 GitHub에서 'testing'을
/var/www/html
로 clone합니다.cd /var/www/html
git clone https://github.com/{username}/testing.git
clone한 리포지토리를 기초로, 베어 리포지토리 「testing.git」를
/var/www
에 작성합니다.cd /var/www
git clone -bare /var/www/html/testing testing.git
그런 다음 베어 리포지토리 "testing.git"의 후크를 설정합니다.
cd /var/www/testing.git/hooks
vi post-update
post-update
#!/bin/sh
(cd /var/www/html/testing && git --git-dir=.git pull origin master)
파일에 실행 권한을 부여하여 움직이는지 확인합니다.
chmod a+x post-receive
./post-receive
다시 말해 GitHub에서 로컬로 'testing'을 clone하여 config 파일을 편집합니다.
clone 할 위치는 홈 디렉토리 바로 아래의 "git"폴더 아래에 있습니다.
~/git/testing/.git/config
[remote "origin"]
url = https://{username}@github.com/{username}/testing.git
url = ssh://user@hostname:port/var/www/testing.git ←この行を追加
...
user, hostname, port는 VPS입니다.
로컬
~/.ssh/config
에 따라 변경하십시오.보충
혼자서 작업한다면 이것으로 문제 없다고 생각합니다.
그러나 여러 사람이 배포하기에는 충분하지 않으므로 Netlify 등을 고려하십시오.
참고
Reference
이 문제에 관하여(Git (GitHub) + VPS (Vultr)로 자동 배포 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/timids/items/7d6d20a4d13d0604e8e4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)