У меня есть сценарий NAnt, который я использую для разрабатывания моего проекта.NET, и я надеюсь видеть, существует ли способ загрузить законченные блоки на некоторую удаленную папку с помощью задачи FTP.
Я не мог найти хороший пример онлайн, и я задаюсь вопросом, знает ли кто-либо, как сделать это, если это выполнимо вообще.
К вашему сведению: я выполняю его на машине окон, если это имеет какое-либо значение.
Вы можете использовать WinSCP как консольное приложение в задаче NAnt
. Использование WinSCP предоставит вам доступ к дополнительным функциям, таким как синхронизация .
Это то, что мы делаем, и это действует как чары.
Мы используем что-то вроде этого (NAnt-0.86-beta1):
<!-- 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>