操作系统 – Ubuntu 14.04
我正在使用GIT webhooks进行部署.
我已经将部署密钥添加到git repo,现在我想在我的本地仓库发生推送时触发git pull origin master命令.
这是我通过浏览器调用的test.php文件:
//echo "THis is a test file on a test repo for testing the deploy functionality using github webhooks!!!!";
echo exec('whoami');
echo exec('sh -x /var/www/proj/test/git.sh');
这是git.sh shell文件:
#!/bin/bash
cd /var/www/proj-dir/test
git pull origin master
当我使用php test.php在终端上运行它时,我得到了正常的结果:
ubuntu From github.com:repo/test
* branch master -> FETCH_HEAD
Already up-to-date.
ubuntu for whoami后跟git pull输出.
现在问题是当我通过浏览器调用相同的http://example.com/test.php它显示用户或whoami输出为www-data,这是apache用户,但我尝试更新php文件的权限执行和更改用户到www数据,但没有工作.
检查了apache日志,当我通过浏览器执行时,我收到了权限错误
Please make sure you have the correct access rights and the repository exists. + cd /var/www/proj/deploy-test + git pull origin master
主机密钥验证失败.致命:无法从远程存储库读取.请确保您具有正确的访问权限并且存储库存在.
我需要做什么更新,以便文件通过浏览器请求工作?
如果我需要更新sudoers文件应该更新什么?
我将.ssh键添加到var / www / dir,因为它是apache用户的主页.但我仍然得到了
git pull origin master
error: cannot open .git/FETCH_HEAD: Permission denied
另外,我为www-data用户添加了一行,以便能够执行sh文件.
www-data ALL=(anthony) NOPASSWD: /var/www/mysite/vendor/tmd/auto-git-pull/scripts/git-pull.sh
参考here仍然没有运气
将.git文件夹的权限更新为www-data用户
sudo chown www-data:www-data /var/www/proj/test/.git
安装
git
,生成公钥,加公钥 都有教程,需要注意的是以下几个方面
php
以www用户
执行
,需要给到权限才能
执行
git
pull1、vim /etc/sudoersroot下加一行www localhost=(ALL) NOPASSWD:/usr/bin/
git
(安装
git
后目录用which
git
查看)2、允许
php
执行
exec shell_exec3、改目录权限4、.
git
改权限可写,我直接改成...
分支操作
git
branch 创建分支
git
checkout -b 创建并切换到新建的分支上
git
checkout 切换分支
git
branch 查看分支列表
git
branch -v 查看所有分支的最后一次操作
git
branch -vv 查看当前分支
git
brabch -b 分支名 origin/分支名 创建远程分支到本地
git
branch --merged 查看别的分支和当前分支合并...
本篇文章主要给大家介绍
Git
怎么用即
Git
的初步使用。
Git
是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。那么在之前的文章中,已经详细得给大家介绍过
Git
是什么以及
Git
工具的安装,需要的朋友可以先参考了解下。我们在本地安装好
Git
工具后,该怎么开始使用呢?下面我们就给大家介绍
Git
工具的初步使用。首先我们可以随便打开一个文件夹,鼠标点击右键,可以出现以下标记。这里我们就可...
获取与创建项目
命令
git
init用
git
init 在目录中创建新的
Git
仓库。 你可以在任何时候、任何目录中这么做,完全是本地化的。在目录中
执行
git
init,就可以创建一个
Git
仓库了。比如我们创建 runoob 项目:$ mkdir runoob$ cd runoob/$
git
initInitialized empty
Git
repository in /Users/t...
开发中我们想推送代码到
git
仓库的时候,在测试环境立马就能看到是什么样的,我们可以通过
git
仓库的webhook钩子配置的,在推送代码到
git
仓库的时候,仓库收到代码,然后可以访问一个url,然后你在这个url写段代码
执行
更新代码的
命令
。
php
代码
<?
php
exec("cd /usr/local/nginx/html/yafcms && sudo g...
常用
命令
速查壁纸:1、常用的
Git
命令
git
add添加至暂存区
git
add-interactive交互式添加
git
apply应用补丁
git
am 应用邮件格式补丁
git
annotate同义词,等同于
git
blame
git
archive 文档归档打包
git
bisect二分查找
git
blame文件逐行追溯
git
branch分支管理
git
cat-file版本库对象研究工具
git
ch...
git
命令
实践,
git
命令
一、
命令
git
checkout -b 分支名 //创建分支并切换到该分支
git
checkout 分支名 //切换到该分支
git
merge 分支名 //把分支合并到当前分支
git
branch -d 分支名 //删除该分支
git
branch -D 分支名 //强制删除该分支
git
log|head //最近一次记录
git
log --pretty=oneline /...
使用场景:在运维管理中搭建一个可视化的版本控制和代码提交上线部署的平台是非常必要的。在这种情况下运维人员在linux的terminal中使用
命令
行或者
git
工具来不是很方便。我们需要的方式是使用webhook自动部署或者一个网页界面化的操作面板来控制。本文和之前的文章《CentOS上搭建
git
服务以及界面化管理_centos下gogs+nginx+mysql实现私有
git
服务》是承接关系。如...