.NET 프로젝트를 빌드하는 데 사용하는 NAnt 스크립트가 있으며 FTP 태스크를 사용하여 일부 원격 폴더에 결과 어셈블리를 업로드하는 방법이 있는지 찾고 있습니다.Nant를 사용하여 FTP로 파일 업로드
저는 온라인에서 좋은 예를 찾을 수 없었습니다. 어떻게 할 수 있는지 아는 사람이 있는지 궁금합니다.
FYI : Windows 시스템에서 차이점이 있다면 실행하고 있습니다.
.NET 프로젝트를 빌드하는 데 사용하는 NAnt 스크립트가 있으며 FTP 태스크를 사용하여 일부 원격 폴더에 결과 어셈블리를 업로드하는 방법이 있는지 찾고 있습니다.Nant를 사용하여 FTP로 파일 업로드
저는 온라인에서 좋은 예를 찾을 수 없었습니다. 어떻게 할 수 있는지 아는 사람이 있는지 궁금합니다.
FYI : Windows 시스템에서 차이점이 있다면 실행하고 있습니다.
NAnt <exec>
작업에서 WinSCP을 console application으로 사용할 수 있습니다. WinSCP를 사용하면 synchronization과 같은 추가 제품을 이용할 수 있습니다.
그건 우리가하고있는 일이며, 매력처럼 작동합니다.
우리는 (은 NAnt-0.86-β1) 같은 것을 사용 :
는<!-- Copies files from artifacts folder to destination folder -->
<target name="deploy-configuration">
<!-- Generate temporary folder for the processed web.config -->
<property name="generated-config-file-path" value="${path::get-temp-path()}${common::GenerateGUID()}" />
<mkdir dir="${generated-config-file-path}" />
<!-- Copy -->
<copy file="${artifacts.dir}/web.config" tofile="${generated-config-file-path}/web.config" />
<!-- Update web.config with values for our destination environment before we deploy. -->
<update-configuration-path file="${generated-config-file-path}\web.config" />
<!-- Deploy using FTP -->
<connection id="ftp-transfer-connection"
server="${project.deployment.ftp.server}"
username="${project.deployment.ftp.user}"
password="${project.deployment.ftp.password}"
/>
<ftp connection="ftp-transfer-connection"
showdironconnect="false"
createdirs="true"
verbose="true"
exec="true"
logfiles="false"
>
<put type="bin"
localdir="${generated-config-file-path}"
remotedir="${project.deployment.path.remote}"
flatten="false"
>
<include name="**\web.config" />
</put>
</ftp>
<delete dir="${generated-config-file-path}" />
</target>
<target name="deploy">
<connection id="ftp-transfer-connection"
server="${project.deployment.ftp.server}"
username="${project.deployment.ftp.user}"
password="${project.deployment.ftp.password}"
/>
<ftp connection="ftp-transfer-connection"
showdironconnect="false"
createdirs="true"
verbose="true"
exec="true"
logfiles="false"
>
<put type="bin"
localdir="${artifacts.dir}"
remotedir="${project.deployment.path.remote}"
flatten="false"
>
<include name="**\bin\**" />
<include name=".\*.svc" />
<include name=".\web.config" />
</put>
</ftp>
<!-- Deploy configuration -->
<call target="deploy-configuration" />
</target>
당신은 WinSCP에 (Windows 용 무료 FTP 클라이언트)를 사용하고 NANT "간부"태그를 통해 통합 할 수 있습니다. 셋업은 상당히 정직하며 한번 완료되면 매력처럼 작동합니다.
블로그가 트위터 페이지에 대한 내부 호출시 404'ing입니다 – fiat
링크가 수정되었습니다. 신고 해 주셔서 감사합니다. –
나 자신도 같은 필요성을 가지고 있었기 때문에 기본적인 FTP 업로드 NAnt 작업을 개발했습니다. 당신은 여기를 찾을 수 있습니다 (사이트의 API 문서에서 붙여 복사) https://sourceforge.net/projects/w3c-nant/
사용 예제 :
<ftpUpload host="ftp.myserver.com" username="root" password="r00t" todir="/">
<fileset basedir="dist">
<include name="**/*" />
<exclude name="**/*.config" />
</fileset>
</ftpUpload>
내가 이미 라이브 서버에 내 사이트를 업로드하는 내 로컬 빌드 스크립트에서 사용합니다. 여기
시도해 보니 완벽하게 작동합니다. 감사합니다. Nikolaos. – akjoshi
작업 WinSCP에 예 : 위 간부의
<exec
verbose="true"
program="WinSCP.exe"
basedir="${WinSCP.Folder.Install}">
<arg value="/command" />
<arg value="/log=D:\Logs\WinSCP\winscp.log" />
<arg value="/script=backup.winscp" />
<arg line="/parameter ${YOUR_FILE}" />
</exec>
backup.winscp 내가 당신과 함께 내 작업을 공유하고 싶은 다음과 같은 내용
option batch abort
option confirm off
open ftp://user:[email protected]
put "%1%"
exit
있는 파일입니다. 방금 arg
값을 사용합니다. 괜찮아. 내 스크립트는 다음과 같습니다.
<property name="path.to.root" value="${project::get-base-directory()}\"/>
<property name = "deploy.folder" value = "${path.to.root}Deploy" />
<!-- FTP -->
<property name = "ftp.host" value = "127.0.0.1"/>
<property name = "ftp.port" value="21"/>
<property name = "ftp.user" value = "username"/>
<property name = "ftp.password" value="mypass"/>
<property name = "ftp.local.dir" value = "${deploy.folder}" />
<!-- WinSCP-->
<property name = "winscp.run" value ="${path.to.root}\tools\WinSCP\WinSCP.com"/>
<target description="Copy to the FTP server" name="ftp.copy">
<exec program="${winscp.run}">
<arg value="/command" />
<arg value="option batch abort" />
<arg value="option confirm off" />
<arg value="option transfer binary" />
<arg value="open ftp://${ftp.user}:${ftp.password}@${ftp.host}:${ftp.port}" />
<arg value= '"put ""${ftp.local.dir}"""' />
<arg value="close" />
<arg value="exit" />
</exec>
</target>
재미있게 보내십시오!
여기에 NAnt FTP Task가 필요합니다. http://www.spinthemoose.com/~ftptask/ – JoshL
@JoshL 위의 링크가 깨졌습니다. 404. –
https://github.com /davidalpert/NAntFTPTask/blob/master/Tasks/ftptask.cs가 더 최신 링크입니다. http://blog.streamlinelogic.ca/2008/03/nant-ftp-task.html은 잘 설명되어 있습니다. – robrich