利用WebHook实现PHP自动部署Git代码
来源:互联网 发布:java中断线程的方法 编辑:程序博客网 时间:2024/04/28 07:27
平时项目代码都托管在Coding,然后每次提交了代码之后都要SSH到服务器上去git pull一次,很是繁琐,在看了OverTrue的《使用PHP脚本远程部署git项目》后就尝试在自己服务器上搞一下自动化部署,下面把部署步骤列出来算是一个分享与备忘。
首先在Coding上创建一个项目,然后在本地clone一份。
在服务器上(以Nginx环境为例,Apache请看OverTrue的教程)
1. 生成公钥
公钥有两个:1. git用户公钥,2. 部署公钥:
git用户公钥
部署公钥
sudo -Hu www ssh-keygen -t rsa # 请选择 “no passphrase”,一直回车下去
2. 准备钩子文件
创建和修改目录权限:
写入钩子文件:
确保你的hook文件可以访问:http://example.com/hook/index.php,钩子准备完成。
3.修改git配置和保存git用户名密码
在Coding网站
1.添加用户公钥
复制/root/.ssh/id_rsa.pub
内容到个人设置页的SSH公钥里添加即可(https://coding.net/user/account/setting/keys)
2.添加部署公钥
复制/home/www/.ssh/id_rsa.pub
的内容并添加到部署公钥:
选择项目 > 设置 > 部署公钥 > 新建 > 粘贴到下面框并确认
3.添加hook
选择项目 > 设置 > WebHook > 新建hook > 粘贴你的hook/index.php所在的网址。比如:http://example.com/hook/index.php, 令牌可选,但是建议写上。
稍过几秒刷新页面查看hook状态,显示为绿色勾就OK了。
初始化
1.我们需要先在服务器上clone一次,以后都可以实现自动部署了:
这个时候应该会要求你输入一次Coding的帐号和密码,因为上面我们设置了永久保存用户名和密码,所以之后再执行git就不会要求输入用户名和密码了。
**!!注意,这里初始化clone必须要用www用户**
2.往Coding.net提交一次代码测试:
在本地clone的仓库执行:
OK,稍过几秒,正常的话你在配置的项目目录里就会有你的项目文件了。
初始化Laravel框架
1. 下载Composer
在项目目录下执行:
**!!记得在本地提交的时候在.gitignore中加上composer.phar**
======================================================
以上只是针对我个人服务器环境的一个搭建过程,欢迎大家指正、探讨。
服务器环境:Linux(CentOS) - AMH - Nginx & MySql
WWW用户目录:/home/www
项目目录:/home/wwwroot/Dev/website.com/web/
Hook目录:/home/wwwroot/Dev/m.website.com/web/hook/
侵必删
- 利用WebHook实现PHP自动部署Git代码
- (git)Bitbucket使用WebHook实现自动部署PHP代码
- php实现webhook自动部署代码
- PHP 结合 WebHook 实现代码自动部署
- git webhook 代码自动部署
- 利用WebHook实现Github或Coding代码的自动部署
- php项目自动部署(利用webhook)
- [笔记]利用Webhook实现coding上的代码自动部署到Centos7服务器上
- gogs结合git-webhook自动部署
- gitlab+jenkins 利用webhook自动构建代码
- webhook 挂钩自动部署
- 在git.oschina上使用WebHook自动部署
- Jenkins+git+webhook自动触发部署和测试任务
- Jenkins+git+webhook自动触发部署和测试任务
- Gitlab利用Webhook实现Push代码后的jenkins自动构建
- Jenkins利用GitLab Webhook触发代码提交自动构建任务
- jenkins+gitlab+webhook自动部署
- GIT服务器实现web代码自动部署
- nignx+keepalived高可用配置开发步骤
- NYOJ 82 迷宫寻宝(一) (DFS)
- 解密优秀博士成长史 ——微软亚洲研究院首届博士生学术论坛Panel讨论经验总结
- android studio中导入第三方库
- 单片机中几种常见的延时方法
- 利用WebHook实现PHP自动部署Git代码
- 什么是计算机图形学?
- GDAL安装
- 微信分享缩略图不显示
- [疯狂Java]泛型:类型参数多态问题、类型通配符(?)、类型通配符的上下限、类型参数的上限(类、接口)
- Java Web应用规范
- 【QQ音乐Api】移花接木 打造自己的音乐电台
- 不求书香门第,但愿耕读传家。
- 火星人STL题解