zoukankan      html  css  js  c++  java
  • 在windows下,git webhook使用php拉取代码的学习总结

    原来上传代码到测试服务器都是用ftp,我觉得这种方式很低效,而且容易出错,比如忘记传某个修改过文件。

    现在项目的代码放在了git@osc上了,想使用他webhook,每当有push的时候,git@osc会发送一个请求到你预设的地址(这个地址就是你自己的服务器的地址,用来收到通知后,拉取代码),这样做整个流程就变的很方便。

    原来的流程是,本地push代码,登录服务器,pull代码。

    现在的流程是,本地push代码,剩下的操作会自动完成,git会发送请求,服务器会自动拉取代码,这很好。

    那么要拉取代码,就需要登录git@osc,所以就要使用证书登录,不然会被询问账户密码。关于如何设置证书,首先要生成证书,git客户端自带有工具可以生成,这个不多说,证书生成后,公钥要放到git@osc,私钥要放到系统用户的家目录下的.ssh目录里,如果有多个不同服务器的证书要设置config文件来区分。

    然后。。。我执行拉取的时候出现了这样的错误

    Could not create directory '/home/SYSTEM/.ssh'. Host key verification failed. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

    问题是出在这里的,执行pull的脚本是php,而php在windows中有是以模块的方式运行的,也就是说是apache执行的这个操作,启动apache的用户是系统账户SYSTEM。他找不到自己的主目录在哪,需要设置用户变量HOME为自己的主目录。

    所以我解决的办法是用登录服务器的administrator来运行apache,在服务里找到自己的apache服务,右键属性-》登录-》输入账户和密码-》确定,重启apache,ok。

    如何用其他用户启动apache,貌似要设置权限,有点麻烦,没有继续尝试。

  • 相关阅读:
    Nokitjs 系列-01
    栗庙科三考场路线图及过关技巧
    oracle创建库和表
    Eclipse 反编译插件安装jad
    在Eclipse中使用Maven插件 博客分类: Java相关技术
    eclipse svn安装
    eclipse tomcat内存溢出,加大内存
    eclipse如何修改dynamic web module version
    Eclipse 使用 Link 方式进行插件的安装
    eclipse中 将java项目转换为web项目 博客分类: Tomcat
  • 原文地址:https://www.cnblogs.com/jishugao/p/5496438.html
Copyright © 2011-2022 走看看