1
votes

I have the following target in my nant script:

<target name="update" verbose="true">
     <copy todir="${dirs.deploy}">
      <fileset basedir="${dirs.drop}\_PublishedWebSites\RomanceReminder.Web">
        <include name="**/*.*" />
      </fileset>
    </copy>
  </target>

when I run this script manually the following output is visible in the log:

[nant] C:\Projects\RomanceReminder\BuildScripts.Custom_test_deploy.build

Buildfile: file:///C:/Projects/RomanceReminder/BuildScripts.Custom/_test_deploy.build

Target framework: Microsoft .NET Framework 3.5

Target(s) specified: go

error_check:

stop_w3svc:

cleanup:

[echo] Deleting C:\Webs\Nightly.

update:

[copy] Copying 93 files to 'C:\Webs\Nightly'.

start_w3svc:

go:

BUILD SUCCEEDED

Total time: 2.6 seconds.

As you can see it move 93 files into the web\nightly folder.

When this script is run via TeamCity the copy doesn't happen for some reason. Team city is running under an admin account so it should have all the permissions it needs. The log file for TC show the exact text above except the update task shows nothing.

Anyone have ideas on how I can even troubleshoot this?

UPDATE: I flipped the bit on the copy task to give verbose logging. and now I see the following in my TeamCity log:

[copy] Copying 0 files to 'C:\Webs\Nightly'.

I still am flummoxed by I can run it from the command line and everything works, but TC doesn't copy files... 8(

1

1 Answers

3
votes

User Error User Error User Error

Of course, I was not trusting the tool assuming it was doing something wrong. The drop directory is only populated in the package step. This particular script executes before that. Team City destroys the build directory every time it runs including the drop directory. So nant was correct, there were no files to copy. I modified my script to use the build output and all is good with the world.