• Please be aware: Kaspersky Anti-Virus has been deprecated
    With the upgrade to Plesk Obsidian 18.0.64, "Kaspersky Anti-Virus for Servers" will be automatically removed from the servers it is installed on. We recommend that you migrate to Sophos Anti-Virus for Servers.
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

Question True git integration /version control for plesk?

Would you like to have a version controll system (e.g. git) in plesk?


  • Total voters
    7

Media0815

New Pleskian
I have read a lot about git integration in plesk and it sounded great,e.g. here:
What's New in Plesk or here Git Support
But actually as far as I found out, it is only possible to pull and deploy changes from a remote repository to your website. It is very disapointing that it is not possible the other way round:
I would like to make changes to my live site, and commit them (including all changes to the mySQL DB and files) and push them to my github repo.
(Why) is this not possible?
It would be perfect to make quick backups and revert changes to the last commit (e.g. in case of a hack or an accident).
Or is there any other way to use a version controll system in the webhosting world?
 
... I would like to make changes to my live site, and commit them (including all changes to the mySQL DB and files) and push them to my github repo. ...
It sounds like you're using a live site to test the code before even committing it to any repo?

I find this workflow flawed in many ways and I strongly suggest changing it. But still, to satisfy your requirements, I suggest the following:

(assuming the GitHub repo contains valid operational code and you're editing your local copy)

1) make changes to the code, using an IDE/editor on a workstation/laptop
2) upload changes manually to a live Plesk site, test

if unsatisfied (test fails):
3a) pull existing GitHub code to a live Plesk site, overwriting what was manually uploaded. At this point, your live site is again in sync with the upstream GitHub repo
4a) go to 1)

if satisfied (test is successful):
3b) commit the code from your IDE/editor to a local workstation/laptop repo and then push to a GitHub repo
4b) pull GitHub code to a live Plesk site, overwriting what was manually uploaded, even if it's the same code. At this point, your live site is again in sync with the upstream GitHub repo.

Like I said, I strongly suggest changing this workflow.

Normally, I would expect something like this (I'm simplifying...):

1) use IDE/editor on a workstation/laptop to edit the code
2) test the code on a test site
3) once satisfied, commit the changes to a local repository on the workstation/laptop, then go back to 1) or go to 4)
4) when appropriate, push from this local repository to a remote git repository
5) pull from the remote git repository to a live site.
 
Hi @Ales
thx very much for your sophisticated reply.
I understand why you argue against our workflow and you would recommend that we develop everything on a local machine before pushing it to a repo and deploying it to the life site.
Nevertheless, I think there are some good arguments for wantig to edit a live page (or a live staging copy) directly on the server:
1. We are supporting many customer Wordpress Websites here, doing regular WP and Plugin updates and little content adjustment. Also the customers edit their live pages themselfes sometimes. It would be heaps of extra work to create local copies of all of them and keeping them in sync with the customer pages!
2. Most Edits we are doing are quite small so the risk of breaking the site is not so big. Also, the pages do not have so many visitors, or critical content (we are talking about a local dentists website for example), so a few minutes downtime in case of an mistake would not hurt anyone. Nevertheless an easy way to quickly revert changes would be very helpful.
3. In the past I have often tried to develop Wordpress sites on a local xampp installation and publish them later to the server. Also I have often moved WP sites from one domain to another domain. Out of experince I can tell you: In 90% of the cases it was pretty painful! With simple pages it might work but if your usign complex themes, many plugins that connect to online live services, etc. it is often a big mess to change domain names or part of the site functionality would simply not work on the local installation. I fear, the same problems would occure with the workflow that you proposed. Of course all that errors could be fixed somehow, but the extra work it means is just not worth it.
4. Sometimes many different users work on the same live site at the same time or you want to collect user data, e.g. in an woocommerce online shop system. In this case, changes will be constantly written into the database. It would be extremely convenient to just make a commit from time to time and be sure to have kind of a "backup" in the git repo with all recent changes to the live sites database.

So to sum it up:
I understand that your workflow would be suitable for simple hardcoded HTML pages. For WP installations with multiple users, many plugins and uncritical usecases, working on the live site directly is the fastest and most economic way to build and support WP websites afaik. Combined with the possibility to commit changes directly from the live site to a repo, it would be also really save to do it and the risk of longer downtime would be very small.
(Also I could finally uninstall all backup plugins and just backup the git repo from time to time...)

So my question is again:
Is or will there be any way to commit changes on the server (files or db) via Plesk to a github repo?
Or is there any other version control system integrated in Plesk?
 
Last edited:
Hi to everyone,
does anyone know if by now it is possible to commit changes on the server (files or db) via Plesk to a github repo?
Thanks!
 
Back
Top