蔽的任务msbuild?
-
23-08-2019 - |
题
任何人都不会知道的一个蔽的任务msbuild?我们想要自动执行我们部署到生产,但出于安全原因,我们不允许SMB文件的分享从我们的dev/test/建立环境中生产。
现在,开发部署码通过手动上传文件使用的软件,在一个蔽的连接。这是非常容易出错,使我们规划自动化蔽上传。虽然如果有一些机制比其他蔽这将是安全的,我会很高兴的使用,而不是。
我想的只是使用"执行"msbuild任务,并且命令行ftp如pscp.但是,如果有人建立一个蔽的任务,这当然将是巨大的。
谢谢,
理查德
解决方案
可以安装的WinSCP,只是使用的MSBuild Exec的任务
我使用类似下面的生成之后上载的ISO文件到服务器。
winscp.exe sftp://root:password;@192.168.0.200:22/uploaddir/ "c:\myfile.iso"
其他提示
我通常做正是因为刘某做了,并使用WinSCP赋予,但是我把它一步,使用WinSCP赋予的脚本功能映射一个更加个性化的部署。
我在一篇博客文章,详细说明完整详细的设置如下:
HTTP:// www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deployment
但是它的基本精神中的脚本文件来的WinSCP正在经过如下:
<Target Name="AfterBuild">
<!-- Set the path to your FTP program (winscp) -->
<PropertyGroup>
<PathToWinSCP>"C:\Program Files (x86)\WinSCP\winscp.exe"</PathToWinSCP>
</PropertyGroup>
<!-- Get the date as a string for our log filename-->
<GetDate Format="yyyyMMdd">
<Output PropertyName="DateString" TaskParameter="Date"/>
</GetDate>
<!-- Convert the path to an absolute path -->
<ConvertToAbsolutePath Paths="$(OutputPath)">
<Output TaskParameter="AbsolutePaths" PropertyName="OutputPath"/>
</ConvertToAbsolutePath>
<!-- Fire WinSCP and give it your script files name
as well as passing it the parameter to this build -->
<Exec Command="$(PathToWinSCP) /script=$(OutputPath)Deployment\FtpDeployment.config /parameter $(OutputPath) /log=$(OutputPath)FtpLog-$(DateString).txt" />
</Target>
和我的脚本是这样的:
option batch abort
option confirm off
open ftp://myUsername:myPassword@ftp.myftpsite.com
put %1%\*
rm FtpDeployment.config
exit
安装腻子和使用命令行工具将您的文件SFTP发布到服务器。使用PAGENT和键,以避免硬编码或重复输入密码。
有很多基于.NET的SSH工具,拿一个使用MSBuild任务包起来(创建你自己的)或CCNET任务。
Ant有一个SCP的任务,如果可能的话呼叫从一个的msbuild ANT脚本。任何情况下,使用强大的公共/私人密钥进行加密。
edtFTPnet / PRO 提供充分支持SFTP。
如果您有兴趣购买,我们很乐意写一个MSBuild SFTP任务,为您的副本 - 这将会是一个很方便的功能。网站上的联系方式。