코드 클 라 우 드 웹 훅 2 분기 (master/develop) 자동 배치 생산 복/테스트 복
1. 로 컬 push 에서 코드 클 라 우 드 2. 코드 클 라 우 드 WebHook 은 http 요청 을 통 해 우리 서버 에 보 냅 니 다. 3. 서버 에서 요청 을 받 았 습 니 다. pull 위탁 관리 코드 입 니 다.단계 1: 서버 에서 ww 사용자 공개 키 를 생 성 합 니 다. (ww 사용자 와 nginx 는 같은 사용자 이 고 Nginx 는 설명 하지 않 습 니 다)
www
의 신분 으로 공개 키 를 만들어 야 합 니 다. 그렇지 않 으 면 git 를 사용 할 때 검증 에 실패 합 니 다 cat /etc/passwd | grep www
. 셸 이 '/sbin/nologin' 인 것 을 발견 하려 면 '/bin/bash' 로 바 꿔 야 ww 로그 인 vim/etc/passwd 수정 이 끝 난 후에 저장 su www
cd ~/.ssh
rm -rf ./*
ssh-keygen -t rsa -C "[email protected]"
cat ~/.ssh/id_rsa.pub
하고 비밀 번 호 를 설정 해 야 합 니 다. 설정 하지 않 으 면 계속 되 돌아 갑 니 다.공개 키 보기 ssh -T [email protected]
이 idrsa. pub 공개 키 를 코드 클 라 우 드 에 복사 하여 바 인 딩 을 하고 터미널 테스트 git config --global user.name "kentrl"
로 돌아 가 다시 간단하게 설정 할 수 있 습 니 다. git config --global user.email "[email protected]"
vim /etc/passwd
오류 가 발생 하면 ww 사용자 로그 인 을 시작 해 야 합 니 다.단계 2: 서버 복제 코드
프로젝트 디 렉 터 리 에 들 어가 기 (ww 사용자 신분 으로)
www:x:1000:1000::/home/www:/sbin/nologin
//여 기 는 자신의 창 고 를 작성 해 야 합 니 다. 비밀 번 호 를 장기 적 으로 기억 하고 싶다 면 /sbin/nologin
사용자 정의 로 기억 할 수 있 습 니 다. /bin/bash
//여 기 는 1 시간 을 기억 합 니 다. 단 위 는 초 수정 입 니 다. git 폴 더 는 ww 사용자 그룹 www:x:1000:1000::/home/www:/bin/bash
입 니 다.STEP 3: git 분기 통합 시 hook 파일 무시
프로젝트 루트 디 렉 터 리 에 새 파일
git clone [email protected]:kentrl_admin/hy.git
을 만 듭 니 다. 무시 해 야 할 (파일 이름 merge = ours) hook. phop git remote add origin http:// : @gitee.com/ .git
\# 합병 hook. phop 무시, 한 줄 한 줄 (줄 바 꾸 기 기억). gitignore git config credential.helper 'cache --timeout=3600'
\# 무시. gitignore info. phop chown www:www -R .git
\# 무시 info. phop 설정 이 효과 가 없 으 면 루트 디 렉 터 리 에서 명령 행 .gitattributes
을 실행 하여 config 설정 합 니 다.이전 코드 가 실 패 했 을 경우 다음 코드
merge=ours
를 시도 해 보 세 요.ww 사용 자 를 로그 인 불가 로 조정
merge=ours
merge=ours
//www 사용자 가 nologin 으로 바 뀌 었 습 니 다.마지막 으로 웹 훅 파일 을 서버 개발
git config merge.ours.driver true
git pull origin master --allow-unrelated-histories
에 업로드 합 니 다.su root
vi /etc/passwd
모든 untracked www:x:1001:1001::/home/www:/sbin/nologin
파일 버 리 기
원 격 창고 의 최신 내용 을 다운로드 하고 통합 하지 않 기 webhook ( ), pull , hook develop
또는: , , Git pull , :
HEAD 를 master 최신 버 전 git clean -df
git fetch 명령 은 원 격 창고 의 최신 내용 을 다운로드 하 는 것 입 니 다. git reset 명령 을 합 쳐 HEAD 를 master 최신 버 전 으로 가리 키 지 않 습 니 다. 0) {
switch ($data['ref']) {
case 'refs/heads/develop':
$name = 'hydev_yyzzu';
$dir = '/www/wwwroot/hydev_yyzzu';
$logdir = '/www/wwwlogs/webhook_logs/hydev_yyzzu/';
$branch = 'develop';
break;
case 'refs/heads/master':
$name = 'hy_yyzzu';
$dir = '/www/wwwroot/hy_yyzzu';
$logdir = '/www/wwwlogs/webhook_logs/hy_yyzzu/';
$branch = 'master';
break;
default:
//$subject = " : checkout !";
//$content = " checkout , push git-hook ! 。";
//$to = '[email protected]';
//mail($to, $subject, $content);
die('checkout branch error!');
}
is_dir($logdir) || mkdir($logdir, 0777, true);
$res = PHP_EOL . 'pull start ---------------------------------------------' . PHP_EOL;
//$res .= shell_exec("cd {$dir} && git pull origin {$branch} 2
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laradock으로 Laravel 환경 구축〇Mac 〇docker-compose 사용 가능 〇git 사용 가능 1) Laradock 설치 2) Laradock .env 파일 만들기 3) Docker로 개발 환경 시작 4) Laravel 설치 5) 브라우저에 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.