自己搭建一个持续机集成环境时,遇到一个问题,要通过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进行源代码提取,结果如下:
完毕~~~