Overview

Plesk features Git integration, which allows to you automatically deploy your code repositories direct to your website. This can be used for a specific directory, for example a WordPress theme or plugin. This article will step you through the process to configure Git integration using a GitLab based repository.

We also have guides available for GitHub and BitBucket.

Instructions

Warning

Using a Git based deployment method will delete any existing files within the directory you select. We highly recommend taking a backup first and ensuring you double check the directory.

  1. Login to Plesk or the Conetix Control Panel.
  2. Select the website you wish to use Git based deployment with.
  3. Select the Git option:
    automatic git deployments via gitlab to plesk based hosting
  4. In a new window or tab, Login to GitLab, and select the repository you wish to deploy. In this example, we’re going to configure conetix/conetix-demo-theme:
    automatic git deployments via gitlab to plesk based hosting
  5. Select Clone on the right hand side, then copy the SSH based URL:
    automatic git deployments via gitlab to plesk based hosting
  6. Return to the Plesk config and paste the URL into the dialog:
    automatic git deployments via gitlab to plesk based hosting
    Do not hit OK yet.
  7. On the right hand side within Plesk, click on the httpdocs folder:
    automatic git deployments via gitlab to plesk based hosting
  8. This will open up a dialog. If this is a WordPress theme or similar, select the path (eg /wp-content/themes) and create a new folder or select a previous directory if replacing an existing theme”
    automatic git deployments via gitlab to plesk based hosting
    All files will be replaced if you select an existing folder.
  9. Double check that the desired folder has now been set:
    automatic git deployments via gitlab to plesk based hosting
  10. Take a copy the SSH public key:
    automatic git deployments via gitlab to plesk based hosting
    Do not click on OK yet.
  11. Then, go back to the browser tab with GitLab open.
  12. On the left hand side, go to Settings -> Repository:
    automatic git deployments via gitlab to plesk based hosting
  13. Expand out the Deployment Keys, then add a name (of your choosing), then paste the SSH key in and click Add key:
    automatic git deployments via gitlab to plesk based hosting
  14. You should then see a confirmation that the key has been added:
    automatic git deployments via gitlab to plesk based hosting
  15. Return to the Plesk browser window, triple check you have the correct directory selected and click on OK. This will trigger the deployment and you should see something similar to the following:
    automatic git deployments via gitlab to plesk based hosting
  16. After the initial deployment, you should then see a summary screen with the Git configuration. Select Repository Settings:
    automatic git deployments via gitlab to plesk based hosting
  17. Take a copy of the webhook URL:
    automatic git deployments via gitlab to plesk based hosting
  18. Return to the browser window with GitLab then select Settings -> Webhooks:
    automatic git deployments via gitlab to plesk based hosting
  19. Add the URL in and leave the default trigger of push events enabled:
    automatic git deployments via gitlab to plesk based hosting
    If you have multiple branches, you can filter the push events just to that branch only if required under push events.
  20. Click on Add Webhook to save.
  21. You can now click Test within the webhook and it should return a 204 to confirm it worked:
    automatic git deployments via gitlab to plesk based hosting
  22. Return to the Plesk browser window and simply cancel the dialog to edit the Repository Settings (we just needed open to copy the webhook).
  23. To confirm the files are deployed, you can use the Plesk File Manager to browse to the file location and confirm it pulled down the code changes:
    automatic git deployments via gitlab to plesk based hosting

Information

With Git configured, any push to GitLab master branch will now automatically update the files deployed on your website.

Was this article helpful?

Related Articles