{"id":36976946,"url":"https://github.com/jurios/deployer","last_synced_at":"2026-01-13T22:45:44.605Z","repository":{"id":57020510,"uuid":"189694757","full_name":"jurios/deployer","owner":"jurios","description":"Automatic configurable deployment. Easy and fast","archived":true,"fork":false,"pushed_at":"2019-12-09T16:31:56.000Z","size":110,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-07T05:18:59.459Z","etag":null,"topics":["continuous-delivery","continuous-deployment","deployment","ftp","php","sftp"],"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/jurios.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}},"created_at":"2019-06-01T05:35:46.000Z","updated_at":"2023-01-28T15:21:29.000Z","dependencies_parsed_at":"2022-08-22T20:31:10.757Z","dependency_job_id":null,"html_url":"https://github.com/jurios/deployer","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/jurios/deployer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurios%2Fdeployer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurios%2Fdeployer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurios%2Fdeployer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurios%2Fdeployer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jurios","download_url":"https://codeload.github.com/jurios/deployer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jurios%2Fdeployer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28403204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-13T14:36:09.778Z","status":"ssl_error","status_checked_at":"2026-01-13T14:35:19.697Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["continuous-delivery","continuous-deployment","deployment","ftp","php","sftp"],"created_at":"2026-01-13T22:45:43.691Z","updated_at":"2026-01-13T22:45:44.578Z","avatar_url":"https://github.com/jurios.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deployer\n[![Build Status](https://travis-ci.com/jurios/deployer.svg?branch=master)](https://travis-ci.com/jurios/deployer)\n\n## 1 - Disclaimer\nDeployer is an unattended script. However, in order to let you check the changes which Deployer is going to do, it will\nprint the change list and wait 15 seconds before start the process. If you see something unexpected, close the process.\n\nWhat's more, Deployer can be launched with a `simulated mode` where it simulates the deployment process (no changes are \ndone in production) in order to let you check the files which are going to be modified/added/removed.\n\nPlease, consider fill an issue if you see a bug or an unexpected behaviour. That would be really useful\nto make Deployer better.\n\n## 2 - What's Deployer\nDeployer is an unattended script which compares the production project version and the current version in order\nto list the files changed (that means: new files, modified files and removed files) and upload/remove them in \nthe production environment using SFTP or FTP \n(at this moment, SFTP and FTP are provided but more protocols can be added easily).\n\nIt uses git (your project must be included in a Git repository) to compare the versions. And parses the `composer.lock`\nfile in order to know which composer packages required by the project are new/updated/removed.\n\n### 2.1 - BUILD file\nIn order to let Deployer know the production environment version, it will generate a file called `BUILD` in the production\nenvironment which contains the commit reference. This file should be reachable for Deployer as it will try to download it\nin the initial step of the deployment process.\nIf Deployer can't get this file, then it will compare from the first commit of the project \n(That means, it will deploy all files tracked).\n\nYou can change that behaviour specifying the commit SHA reference manually when you call to Deployer. You can see this\nin the `How to use it` section.\n\n## 3 - Getting Started\n\nDeployer has been designed to work in any PHP project.\nIf you are developing a Laravel project, a Laravel integration package is available \n[here](https://github.com/jurios/laravel-deployer).\n\nYou can install deployer into your project with:\n\n```\ncomposer require kodilab/deployer dev-master\n```\n\n### How to use it\n\nYou can call to Deployer using a `deploy_it()` helper method. This is the signature of the function:\n\n```(php)\ndeploy_it(string $project_path, array $config = [], string $from_commit = null)\n```\n\n* **project_path** is the path where the project is present\n* **config** The configuration array. Explained in the next section.\n* **from_commit(optional)** You can define a SHA commit reference instead of download it from the produccion environment.\n\nThis is an example of a script which launch Deployer:\n \n```(php)\n\u003c?php\n\ndeploy_it($project_path, $config);\n\n```\n\n## 4 - Configuration\nThe deployer configuration is an array which is defined when Deployer is instantiated. A configuration array example\nis present in `config/config.php` file, you can use it as example. The file contains comments of each parameter \nin order to adapt `deployer` to your needs. Take a look!\n\n### 4.1 - Protocols\nProtocols let `deployer` know which is the way deployment must be done. At this moment there are 3 different protocols\nimplemented: `FTP`, `SFTP` and `Simulate`. The last one, `Simulate`, is an special protocol to simulate a deployment in\norder to let you know how `deployer` would work without make any changes into production. \n\n`Deployer` has been designed to be extensible adding more protocols. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjurios%2Fdeployer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjurios%2Fdeployer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjurios%2Fdeployer/lists"}