CruiseControl.NET搭配VisualSVN,使用Https协议下载源代码
2010-12-26 16:57
891 查看
自己搭建一个持续机集成环境时,遇到一个问题,要通过Https访问VisualSVN下的源代码。但是通过如下在CruiseControl的ccnet.config中的设置是行不通的:
因为VisualSVN设置的SSL访问,在提取源代码时会通过交互的方式进行。显然,上面这种方式,在CruiseControl.NET下如果要自动构建是不可能的,因为CruiseControl.NET会忽略掉这个交互过程,那么我们的代码也无法下获取。因此,需要通过某种方式,告诉VisualSVN,"我不要提示"。下面的步骤就是帮助如何让交互变“哑”。
第一步:建立路径如下:
C:/Documents and Settings/All Users/Application Data/是每个系统都有的,我们只要添加Subversion就可以,
第二步:建立一个授权文件:
从VisualSVN的按照目录下,拷贝certs文件夹(如图1)到Subversion下:
图1
拷贝后的Subversion结构(如图2):
图2
第三步:编辑server.pem文件:
用notepad++或者其他编辑器打开该文件,删除前面的--Begin RSA到--end RSA之间的部分,删除后的结果(如图3)保存。注意保存时注意编码,打开是什么编码,保存用什么编码:
图3
第四步:新建文件指明刚才处理的文件:
然后在该文件夹(上面建立的Subversion)下建立一个文件,名字叫“servers”,结果和结构(如下图4)注意没有扩展名!
代码如下:
图4
最后,测试。此时,切换到ccnet所在目录,键入ccnet测试一下上面的配置:
可以看到输出可以使用https进行源代码提取,结果如下:
完毕~~~
<sourcecontrol type="svn" autoGetSource="true"> <executable>C:/Program Files/VisualSVN Server/bin/svn.exe</executable> <username>kbims</username> <password>kbims</password> <trunkUrl>https://cnlab-hgyyq/svn/kbims/trunk/</trunkUrl> <workingDirectory>D:/NetCruise/project</workingDirectory> </sourcecontrol>
因为VisualSVN设置的SSL访问,在提取源代码时会通过交互的方式进行。显然,上面这种方式,在CruiseControl.NET下如果要自动构建是不可能的,因为CruiseControl.NET会忽略掉这个交互过程,那么我们的代码也无法下获取。因此,需要通过某种方式,告诉VisualSVN,"我不要提示"。下面的步骤就是帮助如何让交互变“哑”。
第一步:建立路径如下:
C:/Documents and Settings/All Users/Application Data/Subversion
C:/Documents and Settings/All Users/Application Data/是每个系统都有的,我们只要添加Subversion就可以,
第二步:建立一个授权文件:
从VisualSVN的按照目录下,拷贝certs文件夹(如图1)到Subversion下:
图1
拷贝后的Subversion结构(如图2):
图2
第三步:编辑server.pem文件:
用notepad++或者其他编辑器打开该文件,删除前面的--Begin RSA到--end RSA之间的部分,删除后的结果(如图3)保存。注意保存时注意编码,打开是什么编码,保存用什么编码:
图3
第四步:新建文件指明刚才处理的文件:
然后在该文件夹(上面建立的Subversion)下建立一个文件,名字叫“servers”,结果和结构(如下图4)注意没有扩展名!
代码如下:
[global] ssl-authority-files = C:/Documents and Settings/All Users/Application Data/Subversion/certs/server.pem
图4
最后,测试。此时,切换到ccnet所在目录,键入ccnet测试一下上面的配置:
C:/Documents and Settings/Administrator>cd C:/Program Files/CruiseControl.NET/server/ C:/Program Files/CruiseControl.NET/server>ccnet
可以看到输出可以使用https进行源代码提取,结果如下:
[testCI:DEBUG] Starting process [C:/Program Files/VisualSVN Server/bin/svn.exe] in working directory [D:/NetCruise/project] with arguments [log https://cnlab-hgyyq/svn/kbims/trunk/ -r "{2010-12-26T08:54:18Z}: --non-interactive] [testCI:DEBUG] Not setting PriorityClass on [C:/Program Files/VisualSVN Server/bin/svn.exe] to default Normal [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] <?xml version="1.0"?> [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] <log> [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] <logentry [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] revision="3"> [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] <author>kbims</author> [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] <date>2010-12-26T05:22:06.281250Z</date> [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] <paths> [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] <path [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] kind="file" [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] action="M">/trunk/test/Class1.cs</path> [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] </paths> [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] <msg></msg> [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] </logentry> [11:DEBUG] [testCI C:/Program Files/VisualSVN Server/bin/svn.exe] </log> 。。。。。。。。。。。。。。。。。。。。。。。。。
完毕~~~
相关文章推荐
- 使用CruiseControl.Net全面实现持续集成
- wget用法wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使用HTTP代理.
- 项目管理实践(VisualSVN,TortoiseSVN,AnkhSVN,CruiseControl.NET,redmine,bugfree)
- 关于在caddy环境下,使用https协议UC无法下载的解决方法。
- 敏捷开发,持续集成 fxcop 在 CruiseControl.NET中的使用
- 使用CruiseControl.Net全面实现持续集成
- CruiseControl.NET以及使用
- 使用CruiseControl.Net全面实现持续集成
- 使用CruiseControl.NET进行自动化构建总结
- 使用Cruise Control.net 每日构建(原创)
- 连接命令层:BtuDatabaseControl组件完成数据库的无缝连接与命令执行(.net),含使用说明及组件下载
- ASP.Net连接WebServer使用Https协议(证书)
- CruiseControl.NET使用
- CruiseControl.NET/CCNET安装包下载
- ASP.NET Core Kestrel 中使用 HTTPS (SSL)
- 推荐.NET使用Aspose.Words动态生成word文档数据表格(附Aspose.Words for NET 6.5 破解版下载)
- apache中使用mod_gnutls模块实现多个SSL站点配置(多个HTTPS协议的虚拟主机)
- CruiseControl.NET配置
- 轻松掌握Ajax.net系列教程八:使用AlwaysVisibleControlExtender
- BAPI / RFC with Delphi(系列之二)--TSAPLogonControl使用(有对话框的登录sap的delphi源代码)