Automation 比特桶网钩

Automation 比特桶网钩,automation,bitbucket,git,scripting,Automation,Bitbucket,Git,Scripting,我想自动将我的一个项目部署到我的服务器上。 我通过bitbucket使用git来控制软件的版本。 我是通过这个很好的教程来的。不幸的是,我不能让它工作 如果我从本地工作副本推送更改,远程repo会得到更新,但webhook会给我404错误。因此,与我的服务器建立了通信,但未找到脚本 当我通过php bitbucket-hook.php手动启动脚本时,会在repo上发出一个pull请求,一切都按预期进行 我猜URL有问题。我试过了http://ip.ip.ip.ip/home//app/deplo

我想自动将我的一个项目部署到我的服务器上。 我通过bitbucket使用git来控制软件的版本。 我是通过这个很好的教程来的。不幸的是,我不能让它工作

如果我从本地工作副本推送更改,远程repo会得到更新,但webhook会给我404错误。因此,与我的服务器建立了通信,但未找到脚本

当我通过php bitbucket-hook.php手动启动脚本时,会在repo上发出一个pull请求,一切都按预期进行


我猜URL有问题。我试过了http://ip.ip.ip.ip/home//app/deploy/bitbucket-hook.php 还有域名。

我自己也实现过很多次webhook

用于访问.php文件的路径不正确。此路径应与apache eg/var/www/html的DocumentRoot相对

假设您的DocumentRoot是/var/www/html,然后将您的bitbucket-hook.php文件放入此路径,即/var/www/html/bitbucket-hook.php,并使用URL作为

或者,您可以创建一个指向/root的虚拟主机,并使用{username}/app/deploy/bitbucket-hook.php

注意:当您触发webhook时,您还需要在/var/www中添加带有私钥的.ssh文件夹,然后apache将在其主文件夹(即/var/www)中找到该密钥

下面是我为autodeploy编写的bash的一部分

`

`


我希望这会有所帮助:

eCelent:工作完美。。谢谢!我也不知道这个路径设置
echo "implenting the web hook for auto deployment..."
if ! [[ -d /var/www/.ssh ]]; then
sudo cp -R ~/.ssh /var/www/
if [[ \$? == 0 ]];then
echo -e 'copied ~/.ssh to document root to apache [/var/www]\n'
else
echo -e 'something went wrong while copying ~/.ssh to /var/www\n'
fi
else
echo "Already a folder name .ssh in /var/www"
fi
sudo chown -R apache. /var/www/.ssh 2>&1
if [[ \$? == 0 ]];then
echo -e 'ownership of /var/www/.ssh has changed to apache \n'
else
echo -e 'something went wrong while changing ownership of /var/www/.ssh\n'
fi
pushd /var/www/html
touch auto_pull.php
sudo chown apache. auto_pull.php
echo -e "<?php content to write in php file ?>">>auto_pull.php  
popd