What is the best practice for deploying to my local dev machine?

Octopus seems very powerful but I haven’t seen any definitive examples on how I can use it to install on my local machine. It’s crucial for me that I am able to deploy to my local machine and run tests before I commit to source control. Is it possible to do this with Octopus?

Hi Kate,

Thanks for getting in touch! The sort answer is Yes.
The long answer is you will need to employ something like Octopack with your project (I am assuming a .NET project using Visual Studio).
When you need to pack you can run a command locally through the VS command line, then use nuget.exe to push it to Octopus and then have a Tentacle locally to accept the package and deploy it.

These are really the only basic details I can give you without having a bit more information about your solution, and environments.
Vanessa

Hi Vanessa,

Thanks for the reply.

I have a simple website and I want to install three identical copies to three different websites on a single web server.

I’m easily able to release onto our development environment using Teamcity to invoke Octopack upon a commit, create the release and trigger the deploy of the release. The Nuget packages are hosted in the TeamCity Nuget server. The process uses three ‘Deploy Nuget package’ tasks to install and poke the necessary settings into the config file. The release number is the version number of the installed package.

I guess I need to create a ‘local’ environment in which I register our development machines and install a tentacle on each machine. I understand that from the command line I can create a release for this environment that will target a specific machine. What I don’t understand is how the release finds the package you mention below. I need to ensure that the package is essentially transient. It hasn’t been built from a commit so shouldn’t be available to be installed on other machines or environments.

Thanks,
Kate

Hi Kate,

Thanks for the extra info. I think to really do what you want here, to avoid the source control, and deploy locally, I think you should create a whole new project that just deploys to those machines, and name the package accordingly, so it only picks up your dev packages and deployments. It also means (soon with lifecycles) you can use the internal repository for those packages and also give it an aggressive retention policy limit.

Vanessa

Hi Vanessa,

Thanks for the info but having an entirely separate process seems ripe for inconsistencies so I don’t think that Octopus is going work for our needs.

Kate

Hi Kate,

There may be a way to deploy your uncommitted source code locally using Octopus deploy.
You would need to install a Tentacle on your machine. Multiple package sources can be defined in Octopus, so each developer could have their own repository to which only they publish their uncommitted source code.
Inside one of your Octopus projects, where you define the step to “Deploy a NuGet package”, you’ll notice that the NuGet feed textbox accepts a Custom Expression input. You can have variables scoped to each developer’s machine with their package feed name, and keep your TeamCity package source for everything else.
You could have a script on your local machine which does the following:
- Compile solution
- Octo-package build
- Push your octopacked files to your personal nuget repo (consider using a version number that nobody else uses to avoid confusion, like 1.0.0-kate)
- Use Octo.exe to create a release and deploy ( http://docs.octopusdeploy.com/display/OD/Creating+releases - there are quite a few useful options there, like picking a specific environment and machine to deploy to or skipping certain steps)

I haven’t had the chance to try this out yet, though.

Diana

Hi, I am just beginner to OctoPus deploy. Can you guide me how can i install octopus deploy in my local machine and use it.

I installed octoups manager in my local and when i try to open, it asks me masterkey, Can you please suggest me further.

Hi,

Thanks for reaching out! This error is often due to an empty configuration file or a registry key pointing to an empty configuration file. That may have been caused if the installation wizard failed or stopped. We’d recommend reinstalling, which would give it a fresh start:

  • In your Octopus Manager, select the option to “Delete this Octopus instance”
  • Next, delete all of the files (located in C:\Octopus in standard installs)
  • Then install the Octopus Server again

Kind regards,

Kenny

Notice:

This issue has been closed due to inactivity. If you encounter the same or a similar issue and require help, please open a new discussion (if we asked for logs or extra details in this thread, consider including them in the new thread). If you are the creator of this thread and believe it should not be closed let us know via our support email.