coding上实践git webhook

系统ubuntu 16.04,搜索出来的参考文章比较乱,应对问题的方法很多不适用,最后还是通过stackoverflow上的回答解决的,在这整理下。

在coding(码市)上已经创建好项目,并git clone到服务器上,我的目的是 本地每次push代码都能触发服务器自动pull。

A: 创建update.php, 核心是利用PHP shell_exec函数 执行shell命令。

B: 在码市 项目设置/webhook 里添加update.php的访问路径。代码参考 http://www.jianshu.com/p/92adf0c8361c

C: nginx的user 为www-data。git pull命令会验证当前用户的ssh key,而www-data用户的根目录在/var/www。所以创建www-data的ssh key:

     c1 mkdir /var/www/.ssh

     c2 ssh-keygen 回车 /var/www/.ssh (指定生成目录)

     c3 chown www-data:www-data .ssh/*

     c4 chmod o-r id_rsa,私钥只能www-data有读取权限

D: echo >/var/www/.ssh/known_hosts

    ssh-keyscan -t rsa coding.net>> /var/www/.ssh/known_hosts

    git.coding.net 并且码市过来的ip都分别加下,应对host key verification failed问题

E: tail -f hooks.log监听更新日志, 在码市webhook里点击测试按钮,能看到如下信息,则说明自动更新成功了 


参考文章:

http://www.jianshu.com/p/92adf0c8361c

http://stackoverflow.com/questions/13363553/git-error-host-key-verification-failed-when-connecting-to-remote-repository

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,131评论 19 139
  • 1、为什么要打造可持续交付和部署软件发布是一个令人头痛的过程,非常耗时且风险很高。对于小团队来说一般分为两种:“签...
    haokeed阅读 1,015评论 0 0
  • 《ijs》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 5,392评论 0 7
  • 问题描述 静态博客托管在github上诚然是一件非常不错的事情,但是github在国内访问速度很慢,而且经常因为违...
    figotan阅读 1,007评论 2 50
  • 第一章 发现 ga_1是一颗距离地球100000au的星球,拥有地球一样的大气层,海洋,等等,氧含量甚至高...
    这不是想象阅读 271评论 0 0