Dan*_*ter 11 windows git cruisecontrol.net ssh github
是否有人安装了git和ControlControl,并在Windows 2003服务器上从GitHub获取了CruiseControl.
我一直在' public key errors (access denied)' - 我认为这是好的,因为这证实了git正在与GitHub交谈.
然而,不好的是我不知道在哪里安装rsa密钥,因此它们将被正在运行的进程(在上下文中的git)中选取cc.net.
任何帮助都会为我节省很多头发!
我试过安装钥匙;
c:\Program Files\Git.ssh
Run Code Online (Sandbox Code Playgroud)
跑步git bash然后cd ~带我去:c:\Program Files\Git
来自CC.net错误消息的当前错误:
ThoughtWorks.CruiseControl.Core.CruiseControlException:
Source control operation failed: Permission denied (publickey). fatal:
The remote end hung up unexpectedly .
Process command: C:\Program Files\Git\bin\git.exe fetch origin
Run Code Online (Sandbox Code Playgroud)
提前致谢
以下是让CruiseControl.net与github存储库(在Windows上)一起工作的笔记.我在Windows 7上运行msysgit 1.7.3.1.我将ccnet设置为作为服务运行.
我遵循的策略是创建ccnet服务将使用的用户帐户.首先让用户在运行巡航控制台时登录工作.之后,我设置服务帐户以使用该用户帐户运行.
首先,为该用户设置SSH密钥,就像设置其他用户一样.但是,请勿使用密码.这将导致ccnet超时等待用户输入.(github ssh密钥管理有帮助,http://help.github.com/msysgit-key-setup/)
您还需要在登录该用户时在某处克隆repro.保留可信主机列表,这可以确保主机位于该列表中(我认为使用.ssh键).如果它不在列表中,则crucontrol将超时,因为git等待您说出您是否信任主机.
授予用户对安装巡航控制的文件夹的读/写权限.同时授予用户编辑您使用的任何构建文件夹的权限,以及构建可能需要访问的任何资源.
巡航控制配置文件需要使用git sourcecontrol块.
这是该块上的文档.这是一个示例:
<project name="NJasmine">
<sourcecontrol type="git">
<repository>git://github.com/fschwiet/DreamNJasmine.git</repository>
<branch>master</branch>
<autoGetSource>true</autoGetSource>
<executable>$(gitpath)</executable>
<tagOnSuccess>false</tagOnSuccess>
<commitBuildModifications>false</commitBuildModifications>
<commitUntrackedFiles>false</commitUntrackedFiles>
<workingDirectory>c:\build\NJasmine.git</workingDirectory>
<timeout>60000</timeout>
</sourcecontrol>
...
</project>
Run Code Online (Sandbox Code Playgroud)
您会注意到我为gitPath使用了一个变量,这样我只定义了一次.我的主要ccnet配置文件实际上引用了上面的内容,它看起来如下所示.通过引用外部配置文件,我可以将大部分ccnet配置保留在源代码管理中:
<!DOCTYPE cruisecontrol [
<!ENTITY njasmine SYSTEM "file:c:\src\njasmine\ccnet.config.xml">
]>
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<cb:define gitpath="C:\Program Files (x86)\Git\cmd\git.cmd"/>
&njasmine;
</cruisecontrol>
Run Code Online (Sandbox Code Playgroud)
注意我将git路径设置为"C:\ Program Files(x86)\ Git\cmd\git.cmd"而不是"C:\ Program Files(x86)\ Git\bin\git.exe".我永远无法让bin\git.exe工作.我还发现共享存储库上的只读URL比读/写URL更容易工作,所以使用只读的URL.
它实际上取决于CruiseControl 服务上声明的实际用户来执行作业。
考虑到错误消息“ Permission denied (publickey)”通常是由在 中找不到 ssh 密钥%HOME%/.ssh引起的。
因此,即使cd ~引导您到达一个目录,该目录也可能不是 CruiseControl 进程使用的目录。
| 归档时间: |
|
| 查看次数: |
4035 次 |
| 最近记录: |