We about to start deploying our solution to our clients in Servoy 5, finally moving away from 3.5 (I know,I know
).
We are debating what the best way to go about this would be, and decided to get some input from the community.
We see two main ways of accomplishing deployment
-
Turn off startRepositoryAsTeamProvider and import modules via the web interface. Essentially how we operated before. The downside that I’ve seen to this so far is that it makes it impossible to “hotfix” and issue on site since you are unable to push changes you make in developer to the repository. If that’s not true, please educate me because I have been unable to make it work differently.
-
Setup a production SVN repository and push code there from our test server once they are certified ready to go. This would make updating as simple an an SVN Update. It would also potentially allow us to hotfix problems onsite.I haven’t actually tested to viability of deploying to an app server this way, so if it’s not possible, definitely let me know.
Am I missing anything? Any other brilliant ideas out there?
If you commit changes on a SVN server, this will not be deployed automatically on your Servoy server as such.
Servoy server still works with a database repository where the current version needs to be imported.
SVN will not change that. So with SVN, you will only have one option to deploy: import on the server.
For the kind of hotfixes you are looking for, the only way that I know of is to have the server started with startRepositoryAsTeamProvider = true, and use built in team server option to commit.
ptalbot:
If you commit changes on a SVN server, this will not be deployed automatically on your Servoy server as such.
I’m aware the server wouldn’t pull down changes automatically, however you could hop into developer and manually call an SVN Update, no?
jgarfield:
ptalbot:
If you commit changes on a SVN server, this will not be deployed automatically on your Servoy server as such.
I’m aware the server wouldn’t pull down changes automatically, however you could hop into developer and manually call an SVN Update, no?
Yes, but what then? The update wouldn’t be in the server’s repository anyway.
ptalbot:
The update wouldn’t be in the server’s repository anyway.
I see now what you are saying.
So essentially the only option is to import via the web interface and lose the option of doing hotfixes? Seems to be a disappointing loss of functionality. ![Confused :?]()
What we do is:
- use SVN on all developers boxes, use SVN for development,
- our server IS a teamRepository, and has a developer software installed on it too,
- when we want to deploy, we export from one of our developer boxes, import in the developer instance that is on the server (you can do that directly in Developer now in 5.1),
- because this one is linked to the server, we can commit to the server directly,
If something goes wrong we can fix it on that developer instance, and commit again. It acts as a a deployment brige and to give us the option to do these ‘hotfixes’.
But do realize that doing these ‘hotfixes’ on the teamserver (that is in fact the deployment server) you still need to restart the Servoy server. Something you don’t need to when you import a .servoy file via the web-interface.
ROCLASI:
But do realize that doing these ‘hotfixes’ on the teamserver (that is in fact the deployment server) you still need to restart the Servoy server. Something you don’t need to when you import a .servoy file via the web-interface.
That’s true Robert, good to remind us that!
ROCLASI:
But do realize that doing these ‘hotfixes’ on the teamserver (that is in fact the deployment server) you still need to restart the Servoy server. Something you don’t need to when you import a .servoy file via the web-interface.
You wouldn’t be able to just flush that module?
jgarfield:
You wouldn’t be able to just flush that module?
In my experience this doesn’t really work well. Even in 3.5 I always had to do a restart to make it really see all changes.