I come to you with a question about designing a continuous integration process.
We currently have an application that uses a single database, has a single API composed of multiple projects (.Net Core), while the frontend part is implemented in Angular.
We have a production server (VPS, Windows Server 2019) and the deployment process has been done manually so far.
We wanted to create the above mentioned process to improve the current solutions. For this purpose, we bought a new server (VPS, Windows Server 2019) and created a deployment process there based on Jenkins, Octopus Server, Octopus Tentacle and IIS server.
Everything works fine, but we don’t know how we should approach promoting the current solution to production.
We would not like to duplicate the entire infrastructure (Jenkins, Octopus Server), but only move the proven and tested version of the application to the production server.
For this purpose we wanted to use:
so that on the production server, some tool (Octopus Tentacle?) would listen for the command to deploy a new version of the application instead of the currently running instance.
The problem is that the test VPS server (#1) is in a completely different network and subnet than the production server (#2). Is such communication safe?
We would be very grateful for any help on the topic, we are not tied to the current solution - we want to do it right and if possible using the current infrastructure.
I will be very grateful for any help and advice.