Is there a way to deploy to shared hosting. I want to be able to deploy my database package to a database on a shared SQL instance. All I have is access to my database on the SQL server using the IP Address and credentials. I have no way to install a tentacle on the actual server itself.
Similarly, I also wish to deploy a web service to a FTP location. The site is managed through a CPanel type interface so the only access I have is to the file system via FTP.
Any help/guidance on these issues would be greatly appreciated.
Thanks for getting in touch. The good news is Octopus should be able to handle your scenario really well.
For the SQL database deployment, the idea is to install a tentacle into a jump box, you can then deploy your package to the jump box, it will extract and apply the changes to your shared hosting database by the given IP and login credential.
For the FTP deployment, the jump box concept also applies. You could use a “Deploy a Package” step to deploy the files to your jump box follows by a “Upload files by FTP” step contributed by our community member. The FTP step will upload your files to your shared hosting by FTP, here is the details link of the “Upload files by FTP” step https://library.octopusdeploy.com/step-template/actiontemplate-upload-files-by-ftp
While waiting for an answer, I had worked the Database side of things out. It works great. I have subsequently moved my database onto Azure and this method also works great for that too!
With regards to the FTP Upload step, I tried this without much success. If you wish to use simple FTP then the script does not work. I had to manually remove lots of stuff from the powershell script to get it working. I then ran into a further problem with not being able to overwrite the application files while the site was in use. If I had control I would have had a step to stop the application pool first but on shared hosting this is not an option.
I have come to the conclusion that shared hosting is too restrictive so have migrated my infrastructure onto a mixture of Azure and a VCS with IIS. This gives me full control of my deployment pipeline.