Table des matières
回复内容:
Maison développement back-end tutoriel php 使用git HOOK自动部署git命令执行不成功

使用git HOOK自动部署git命令执行不成功

Jun 06, 2016 pm 08:36 PM
git php

git@OSC上,使用PUSH钩子,每次push就通过URL访问项目下面的自动部署php文件

<code>
header("Content-type: text/html; charset=utf-8");
$js=json_decode($_REQUEST["hook"]);//json转换
if($js-&gt;password!="xxxxxx")die("ERROR!");//判断密码
$fp=fopen("./log.txt",'a');
$lastcommit=$js-&gt;push_data-&gt;commits[count($js-&gt;push_data-&gt;commits)-1];//获取最后的commit
if(strstr($lastcommit-&gt;message,"release"))//这里意为:如果最后的commit包含"release"则进行自动发布。
{
exec('cd /home/xxx/');//进入目录
exec("git pull origin master");//进行git拉取,前提是使用了ssh
fwrite($fp,"!!!".date('Y-m-d H:i:s')."\t".$lastcommit-&gt;message."\t".$lastcommit-&gt;author-&gt;name."\t"."Y"."\n");//进行记录
}
else
{
fwrite($fp,date('Y-m-d H:i:s')."\t".$lastcommit-&gt;message."\t".$lastcommit-&gt;author-&gt;name."\t"."N"."\n");
}
</code>
Copier après la connexion
Copier après la connexion

每次push后,项目下面的log.text确实有记录,但是代码没更新,还是得每次都手动git pull一下。这该如何是好啊?

回复内容:

git@OSC上,使用PUSH钩子,每次push就通过URL访问项目下面的自动部署php文件

<code>
header("Content-type: text/html; charset=utf-8");
$js=json_decode($_REQUEST["hook"]);//json转换
if($js-&gt;password!="xxxxxx")die("ERROR!");//判断密码
$fp=fopen("./log.txt",'a');
$lastcommit=$js-&gt;push_data-&gt;commits[count($js-&gt;push_data-&gt;commits)-1];//获取最后的commit
if(strstr($lastcommit-&gt;message,"release"))//这里意为:如果最后的commit包含"release"则进行自动发布。
{
exec('cd /home/xxx/');//进入目录
exec("git pull origin master");//进行git拉取,前提是使用了ssh
fwrite($fp,"!!!".date('Y-m-d H:i:s')."\t".$lastcommit-&gt;message."\t".$lastcommit-&gt;author-&gt;name."\t"."Y"."\n");//进行记录
}
else
{
fwrite($fp,date('Y-m-d H:i:s')."\t".$lastcommit-&gt;message."\t".$lastcommit-&gt;author-&gt;name."\t"."N"."\n");
}
</code>
Copier après la connexion
Copier après la connexion

每次push后,项目下面的log.text确实有记录,但是代码没更新,还是得每次都手动git pull一下。这该如何是好啊?

<code>exec('cd /home/xxx/');//进入目录
exec("git pull origin master");//进行git拉取,前提是使用了ssh
</code>
Copier après la connexion

在一个exec连在一起写吧,cd不会修改父进程所在目录,另外最好把输出重定向到文件方便排查。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Comment installer Deepseek Comment installer Deepseek Feb 19, 2025 pm 05:48 PM

Comment installer Deepseek

Résumé des FAQ pour une utilisation profonde Résumé des FAQ pour une utilisation profonde Feb 19, 2025 pm 03:45 PM

Résumé des FAQ pour une utilisation profonde

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Comment configurer Visual Studio Code (VS Code) pour le développement PHP

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Comment analysez-vous et traitez-vous HTML / XML dans PHP?

Quels sont les outils d'IA ? Quels sont les outils d'IA ? Nov 29, 2024 am 11:11 AM

Quels sont les outils d'IA ?

Programme PHP pour compter les voyelles dans une chaîne Programme PHP pour compter les voyelles dans une chaîne Feb 07, 2025 pm 12:12 PM

Programme PHP pour compter les voyelles dans une chaîne

Alors que les principaux marchands entrent sur le marché de la cryptographie, quel impact sur les titres de château auront-ils sur l'industrie? Alors que les principaux marchands entrent sur le marché de la cryptographie, quel impact sur les titres de château auront-ils sur l'industrie? Mar 04, 2025 pm 08:03 PM

Alors que les principaux marchands entrent sur le marché de la cryptographie, quel impact sur les titres de château auront-ils sur l'industrie?

See all articles