git 설정 훅스 갈고리
github는 hooks를 설정할 수 있습니다. 보십시오: 설정
webhooks & services
에서, 설정Just the push event.
에서, 서버에 요청을 한 다음에 해당하는 처리를 할 수 있습니다.https://help.github.com/articles/creating-webhooks
문서 보기: man githooks
NAME githooks - Hooks used by Git
SYNOPSIS $GIT_DIR/hooks/*
DESCRIPTION Hooks are little scripts you can place in $GIT_DIR/hooks directory to trigger action at certain points. When git init is run, a handful of example hooks are copied into the hooks directory of the new repository, but by default they are all disabled. To enable a hook, rename it by removing its .sample suffix.
Note It is also a requirement for a given hook to be executable. However - in a freshly initialized repository - the .sample files are executable by default.
This document describes the currently defined hooks.
git hook 자동 배치 코드
만약 당신의 프로젝트도 이 서버에 달린다면 자동 배치 코드는 매우 간단합니다. 예를 들어 당신의 온라인 서비스 코드는/var/www/demo 폴더에 있습니다.
/var/www/demo도 쓰기 권한이 있어야 합니다.
먼저 코드 라이브러리를 초기화합니다.
$ git clone /opt/git/gitdemo /var/www/demo
그리고 당신은
git pull
를 통해 코드를 업데이트할 수 있습니다.물론 이것은 수동입니다. 제가 원하는 것은 로컬에서 업데이트를 제출한 후에 서버가 자동으로gitpull 코드를 최신 코드로 전송할 수 있기 때문에 우리는
git hook
를 빌려야 합니다./opt/git/gitdemo 폴더에 들어가면 발견할 수 있습니다.git/hook 폴더가 안에 있습니다. hook에 들어가면 샘플 스크립트가 많습니다. 여기에post-update만 사용하면 됩니다.
$ mv post-update.sample post-update $ vim post-update
안에 사실 셸 스크립트가 있는 것을 볼 수 있습니다. 당신이 해야 할 일은gitpull을 쓰는 것입니다.사용자가 제출하면post-update 스크립트를 호출합니다.
예를 들어 내가 서버의 코드 라이브러리를 업데이트한 후에 대응하는 서비스 코드도 업데이트(pull 조작)를 요구하면bare 창고의hooks에post-receive에 다음과 같은 내용을 추가하면 된다
#!/bin/sh unset $(git rev-parse --local-env-vars) cd WEB_DIR git pull
이 스크립트들은 분명히 많은 일을 할 수 있다. 네가 원한다면, 각 스크립트가 언제 호출되는지 알아야 한다. 구글.
주: 서버에서git 사용자와 관련된 폴더와 파일,
$ chown -Rh git:git/your/git/dirs
별문:
최고의 도구git hook
post-update.sample에서 post-update로 이름 변경
그리고 간단한 코드를 몇 줄 넣으면 당신의 요구를 실현할 수 있습니다
예:
gitdir=/****
cd $gitdir
git checkout 대응 지점
git pull
end...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.