What does "/p:OctoPackPublishPackageToHttpA" really mean?

I am newbie to Octopus but like to explore it.

I setup Octopus server and today following http://docs.octopusdeploy.com/display/OD/Installing+Octopus

All looks fine, I can launch the Octopus site (empty).

Then I use an existing project (solution contains both winservice and website), integrate it with OctoPack/Nuget, following http://docs.octopusdeploy.com/display/OD/Using+OctoPack

Again following the above (http://docs.octopusdeploy.com/display/OD/Using+OctoPack), I could run my commandline build with the “/p:…” options. The command line is below -

C:…>“C:\Program Files (x86)\MSBuild\12.0\Bin\msbuild.exe” sln_name.sln /t:Rebuild /p:RunOctoPack=true /p:OctoPackPublishPackag
eToFileShare=C:\Octopus\nuget\packages /p:OctoPackPublishPackageToHttp=http://myhost/Octopus/app#/library/packages /p:OctoPackPublishApiKey=API-MYAPIKEY

The build is fine (no error) and .nupkg packages are generated and published to C:\Octopus\nuget\packages.

But I didn’t see anything happened in http://myhost/Octopus/app#/library/packages (I also tried using http://myhost/Octopus), is this correct?
My understand is that [ /p:OctoPackPublishPackageToHttp=http://myhost/Octopus/app#/library/packages ] will push the package to the specified location so that the web will show the packages, am I right? If so, I may need to configure http://myhost/Octopus/app#/library/packages location (I used /p:OctoPackPublishPackageToHttp=http://myhost/Octopus/app#/library/packages, since http://myhost/Octopus/app#/library/packages is the site when I navigated to oct->Library->Packages), I don’t remember I have ever configure the package location for the web yet, well I could be totally wrong, maybe I need to manually ‘push’ (using nuget.exe) the package to populate the web page.

Please help clarify or guide me, thanks.

Googling brought more questions -

Do I need to setup a nuget server to make it (http publishing) work? I haven’t setup nuget server yet.

This thread (http://help.octopusdeploy.com/discussions/problems/8123-cannot-download-package-even-though-package-is-found) mentioned to try http://your-nuget-server:8040/api/v2/Packages, I got “The page can’t be displayed” message, and ‘view source’ showed xml file of the same error message, no ‘<content.>’ node found.

I currently put Octopus server, testing project and build, and nupkg package repository on the same system, and installed Octopus Tentacle on another system. If I have to setup a nuget server, can I do it on the same Octopus server box? Are there any instructions I can follow to set it up?

The ‘package repository’ is not really configured, it’s just a location (say c:\octopus\nuget\packages) specified in MSBuild commandline with “/p:OctoPackPublishPackageToFileShare=” option, I feel I need to configure the ‘package repository’ with Octopus server and probably also nuget server, right? If so, how to configure?

It looks like you are trying to use Octopus’s built in NuGet server. The url http://myhost/Octopus/app#/library/packages is for the UI view, not the repository itself. If you go to that page you should see a box near the top of the screen that shows the NuGet.exe command line to use. The Source option will show the actual repository location. Something like this:
@@@
NuGet.exe push <YourApp.nupkg> -ApiKey -Source http://myhost/Octopus/nuget/packages
@@@

The part after -Source is what you want to put after /p:OctoPackPublishPackageToHttp in your build script.

You can also use an external repository. Those are setup in the Libtrary > External Feeds tab, directly below the Library > Packages tab.

You can see more information in the Package Repositories section of the documentation.