{"id":18525554,"url":"https://github.com/zero-24/plg_system_gitdeploy","last_synced_at":"2025-10-17T04:15:52.030Z","repository":{"id":55643814,"uuid":"301094207","full_name":"zero-24/plg_system_gitdeploy","owner":"zero-24","description":"This Joomla plugin allows to automaticly deploy changes from a git repo and is based on [KickDeploy](https://github.com/nielsnuebel/kickdeploy)","archived":false,"fork":false,"pushed_at":"2024-12-22T16:18:42.000Z","size":317,"stargazers_count":8,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T05:34:59.171Z","etag":null,"topics":["gitdeployer","joomla","joomla-plugin"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zero-24.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-04T09:56:24.000Z","updated_at":"2024-12-22T16:18:45.000Z","dependencies_parsed_at":"2024-11-06T17:59:57.188Z","dependency_job_id":null,"html_url":"https://github.com/zero-24/plg_system_gitdeploy","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zero-24%2Fplg_system_gitdeploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zero-24%2Fplg_system_gitdeploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zero-24%2Fplg_system_gitdeploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zero-24%2Fplg_system_gitdeploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zero-24","download_url":"https://codeload.github.com/zero-24/plg_system_gitdeploy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248040229,"owners_count":21037835,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gitdeployer","joomla","joomla-plugin"],"created_at":"2024-11-06T17:46:18.762Z","updated_at":"2025-10-17T04:15:46.998Z","avatar_url":"https://github.com/zero-24.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitDeploy Plugin\n\nThis plugin allows to automaticly deploy changes from a git repo and is based on [KickDeploy](https://github.com/nielsnuebel/kickdeploy)\n\n## Features\n\nThis plugin allows to listen on github hooks and than deploy changes from a git repo.\n\n## Configuration\n\n### Initial setup the plugin\n\n* [Download the latest version of the plugin](https://github.com/zero-24/plg_system_gitdeploy/releases/latest)\n* Install the plugin using `Upload \u0026 Install`\n* Enable the plugin `System - GitDeploy` from the plugin manager\n* Register / Log into [github.com](https://github.com/login)\n* Create an repo on [github.com](https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/create-a-repo)\n* Now go to your server and [clone that repo into a folder of your choice](https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/cloning-a-repository)\n* Please make sure you have added the [remote repo](https://docs.github.com/en/free-pro-team@latest/github/using-git/adding-a-remote)\n* Setup an [webhook for your repo on github.com](https://docs.github.com/en/free-pro-team@latest/developers/webhooks-and-events/creating-webhooks)\n* Set the `Payload URL` to `https://www.example.org?github=true\u0026targetSite=examle.org` (targetSite is optional and will default to the current domain)\n* Generate and enter an secret value only known by GitHub and you.\n* Now go to the plugin options:\n  * `Git Path`: Please copy here the result of `which git` when you run that from your server.\n  * `Git Repo`: Please set the repo name here `octocat/hello-world`\n  * `Branch`: Please set the branch name you want to pull from\n  * `Remote`: Please set the name of the remote you configured\n  * `Use Hook-Secret` \u0026 `Hook-Secret`: Please enable this option and set the secret configured in the webhook\n  * `Run cd` \u0026 `cd Path`: You can enable this option when the git folder is not the root folder of joomla\n  * `Run git reset`: You can enable this option to run an git reset before pulling the changes\n* Please switch to the `Notifications` tab in the options\n  * `Notifications`: You can enable notifications\n  * `Notifications Provider`: Please select an notification provider where we should the notification to.\n  * When you have selected we show you the fields we need to use that provider please set the correct data here.\n* Plese save \u0026 close the plugin\n* Now commit the inital code or change a file\n* GitHub now sends you the webhook and the plugin executes git pull as well as sends you a notification.\n\nNow the inital setup is completed.\n\n### Additional remarks\n\n#### Suggested .htaccess rule\n\nWhen you git repo is directly accessible to the web i would suggest to deny the access to the .git folder via an .htaccess file\n```\n# Don't allow access to .git folder\nRedirectMatch 404 /\\.git\n```\n\n#### Customise the Notification Message\n\nYou can customise the notification message using language overrides of the following two language strings\n```ini\nPLG_SYSTEM_GITDEPLOY_MESSAGE_BODY=\"\u003cp\u003eThe Github user \u003ca href='https://github.com/{pusherName}' title='@{pusherName}' target='_blank' rel='noopener noreferrer'\u003e@{pusherName}\u003c/a\u003e has pushed to \u003ca href='{repoUrl}' title='{repoUrl}' target='_blank' rel='noopener noreferrer'\u003e{repoUrl}\u003c/a\u003e that changes have now been pulled into: \u003ca href='{currentSite}' title='{currentSite}' target='_blank' rel='noopener noreferrer'\u003e{currentSite}\u003c/a\u003e.\u003c/p\u003e\u003cp\u003eHere's a brief list of what has been changed:\u003c/p\u003e{commitsHtml}\u003cp\u003eWhat follows is the output of the script:\u003c/p\u003e\u003cpre\u003e{gitOutput}\u003c/pre\u003e\u003cp\u003eKind Regards, \u003cbr\u003eGithub Webhook Endpoint\u003c/p\u003e\"\nPLG_SYSTEM_GITDEPLOY_MESSAGE_BODY_COMMITS_LINE=\"\u003cli\u003e{commitMessage} (\u003csmall\u003eAdded: \u003cstrong\u003e{commitAdded}\u003c/strong\u003e Modified: \u003cstrong\u003e{commitModified}\u003c/strong\u003e Removed: \u003cstrong\u003e{commitRemoved}\u003c/strong\u003e Commit: \u003ca href='{commitUrl}' title='{commitUrl}' target='_blank' rel='noopener noreferrer'\u003e{commitUrl}\u003c/a\u003e\u003c/small\u003e)\u003c/li\u003e\"\n```\n\nPlease make sure that you only use the html `a`, `p`, `ul`, `li`, `strong`, `small`, `br` \u0026 `pre` tags as well as make sure the `title` attribute for links is the same as the infomation showed.\n\nThe following parameters are supported right now for the `PLG_SYSTEM_GITDEPLOY_MESSAGE_BODY` language string:\n\n* `{pusherName}`: The github username that pushed the changes\n* `{repoUrl}`: The URL to the github.com repo\n* `{currentSite}`: The current site the changes get deployed to or the valud of the targetSite when configured\n* `{commitsHtml}`: The generated commit lines\n* `{gitOutput}`: The output of the git command we executed.\n\nThe following parameters are supported right now for the `PLG_SYSTEM_GITDEPLOY_MESSAGE_BODY_COMMITS_LINE` language string:\n\n* `{commitMessage}`: The commit message for that commit\n* `{commitAdded}`: The count of added lines\n* `{commitModified}`: The count of modified lines\n* `{commitRemoved}`: The count of removed lines\n* `{commitUrl}`: The URL to the commit on github.com\n\n## Update Server\n\nPlease note that my update server only supports the latest version running the latest version of Joomla and atleast PHP 7.2.5.\nAny other plugin version I may have added to the download section don't get updates using the update server.\n\n## Issues / Pull Requests\n\nYou have found an Issue, have a question or you would like to suggest changes regarding this extension?\n[Open an issue in this repo](https://github.com/zero-24/plg_system_gitdeploy/issues/new) or submit a pull request with the proposed changes.\n\n## Translations\n\nYou want to translate this extension to your own language? Check out my [Crowdin Page for my Extensions](https://joomla.crowdin.com/zero-24) for more details. Feel free to [open an issue here](https://github.com/zero-24/plg_system_gitdeploy/issues/new) on any question that comes up.\n\n## Joomla! Extensions Directory (JED)\n\nThis plugin can also been found in the Joomla! Extensions Directory: [GitDeploy by zero24](https://extensions.joomla.org/extension/gitdeploy/)\n\n## Release steps\n\n- `build/build.sh`\n- `git commit -am 'prepare release GitDeploy 1.0.x'`\n- `git tag -s '1.0.x' -m 'GitDeploy 1.0.x'`\n- `git push origin --tags`\n- create the release on GitHub\n- `git push origin master`\n\n## Crowdin\n\n### Upload new strings\n\n`crowdin upload sources`\n\n### Download translations\n\n`crowdin download --skip-untranslated-files --ignore-match`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzero-24%2Fplg_system_gitdeploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzero-24%2Fplg_system_gitdeploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzero-24%2Fplg_system_gitdeploy/lists"}