원격 서버에 대한 git 푸시 자동화
2169 단어 reacttutorialgitproductivity
나는 git repo를 가지고 있습니다. 현재 작업 중인
dev
분기를 업데이트하고 푸시할 때마다 서버에 ssh/로그인하고 서버에 변경 사항을 반영하도록 끌어와야 합니다.또한 PM2 restart "myapp"을 실행하여 앱을 다시 시작해야 합니다. 때때로 내 앱에서 패키지를 추가하거나 제거할 때
yarn install
도 실행해야 합니다.푸시, 풀링, 원사 설치 및 마지막으로 내 앱을 다시 시작하는 이 모든 프로세스를 자동화할 수 있기를 바랍니다. 방법이 있습니까? 그런 것 같다. 설정해보도록 하겠습니다.
1. Bare Repo 만들기
서버에 로그인
ssh [email protected]
베어 리포지토리 설정
git init --bare /path/to/My_React_App.git
수신 후 훅 생성
나노/path/to/My_React_App.git/hooks/post-receive
그리고 다음과 같이 입력하십시오.
#!/bin/sh
# Check out the files
git --work-tree=/path/to/My_React_App --git-dir=/path/to/My_React_App.git/hooks/post-receive checkout -f dev
참고: 내 예에서는 로컬
dev
분기를 원격dev
분기로 푸시하고 있습니다. 기본 브랜치(예: 기본 또는 마스터)에서 작업하는 경우 구성에 설정된 것이 무엇이든 브랜치 이름 전달을 생략할 수 있습니다.중요한 단계:
다음을 설정하여 이 파일을 실행 가능하게 만드십시오.
chmod +x /path/to/My_React_App.git/hooks/post-receive
자신의 로컬 리포지토리 내에서 다음을 실행합니다.
git remote add Development 'ubuntu@<IP-ADDRESS>:My_React_App.git'
참고: ssh 키를 사용하여 서버에 로그인하는 경우 다음을 사용하여 Git 구성에서 키를 설정합니다.
GIT_SSH_COMMAND='ssh -i /Users/arvind/mykey.pem' git submodule update --init
그런 다음 푸시하십시오.
git push --set-upstream Development dev
모든 것이 제대로 작동하면 서버에서 로컬 앱 변경 사항을 볼 수 있어야 합니다.
Git Hook 푸시 후 작업 실행
앞서 언급했듯이 저는 이 수신 후 후크를 설정하려는 reactapp에서 작업하고 있었습니다. 따라서 모든 성공적인 푸시 후에 내 앱 폴더 내에서 다음과 같은 특정 명령을 실행하고 싶었습니다.
yarn install
pm2 restart "myapp"
고맙게도 이 두 줄 또는 세 줄의 코드를/path/to/ICOV3_React_Admin.git/hooks/post-receive 파일에 추가하는 것처럼 이러한 명령 실행을 자동화하는 것이 쉽습니다. 추가할 수신 후 파일 편집입니다.
cd /path/to/My_React_App
yarn install
pm2 restart "myapp"
참고: 내 앱 폴더에서 이 앱을 처음 실행하기 위해 동일한 이름으로 pm2 명령을 실행했다고 가정합니다. 그건:
pm2 start yarn --name "myapp" -- start
Reference
이 문제에 관하여(원격 서버에 대한 git 푸시 자동화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/inimist/automate-your-git-push-to-remote-server-1lg6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)