{"id":18518550,"url":"https://github.com/meanstrong/pydelo","last_synced_at":"2025-05-08T00:25:40.720Z","repository":{"id":146561651,"uuid":"56485773","full_name":"meanstrong/pydelo","owner":"meanstrong","description":"自动化上线部署系统","archived":false,"fork":false,"pushed_at":"2018-01-15T09:52:42.000Z","size":289,"stargazers_count":216,"open_issues_count":0,"forks_count":86,"subscribers_count":32,"default_branch":"dev","last_synced_at":"2025-03-31T15:34:04.434Z","etag":null,"topics":["deployment-automation","python"],"latest_commit_sha":null,"homepage":"","language":"Python","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/meanstrong.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":"2016-04-18T07:18:17.000Z","updated_at":"2024-07-09T09:44:06.000Z","dependencies_parsed_at":"2024-04-19T11:15:57.640Z","dependency_job_id":null,"html_url":"https://github.com/meanstrong/pydelo","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meanstrong%2Fpydelo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meanstrong%2Fpydelo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meanstrong%2Fpydelo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meanstrong%2Fpydelo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meanstrong","download_url":"https://codeload.github.com/meanstrong/pydelo/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252975059,"owners_count":21834367,"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":["deployment-automation","python"],"created_at":"2024-11-06T17:13:45.818Z","updated_at":"2025-05-08T00:25:40.674Z","avatar_url":"https://github.com/meanstrong.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Pydelo - A Deploy Tool\n======================\n这是一个Python语言编写的自动化上线部署系统，只需做很少的配置就可以立即使用。\n系统将整个发布过程分成两个部分：checkout 和 deploy\n* checkout\n此部分做代码的检出动作，并且在代码的检出前后可以分别做一些shell操作，如编译动作，配置文件修改等。\n* deploy\n此部分做代码的发布动作，通过rsync将代码同步到远端机器的指定目录，在代码的同步前后也可以分别做一些shell操作，如相关服务的stop、start，某些清理工作等。\n\nRequirements\n------------\n\n* Bash(git, rsync, ssh, sshpass)\n* MySQL\n* Python\n* Python site-package(flask, flask-sqlalchemy, pymysql, paramiko)\n\nThat's all.\n\nInstallation\n------------\n```\napt-get install rsync sshpass\ngit clone git@github.com:meanstrong/pydelo.git\ncd pydelo\npip install -r pip_requirements.txt # 建议使用virtualenv来部署\nmysql -h localhost -u root -p pydelo \u003c db-schema/db-schema.sql  # create database and tables\nvi web/config.py # set up module config such as mysql connector\npython init.py   # 添加默认用户、项目数据\n\npython manage.py # start flask web app\n```\n\nUsage\n-----\n#### 1.Add project\n![image](https://github.com/meanstrong/pydelo/raw/master/docs/create_project.png)\n\n#### 2.New deploy\n![image](https://github.com/meanstrong/pydelo/raw/master/docs/create_deploy.png)\n\n#### 3.Deploy progress\n![image](https://github.com/meanstrong/pydelo/raw/master/docs/deploy_progress.png)\n\n#### 4.Deploys\n![image](https://github.com/meanstrong/pydelo/raw/master/docs/deploys.png)\n\nDiscussing\n----------\n- email: pmq2008@gmail.com\n\n\nTodo\n----------\n1. BUG:同一个git项目不能同时有两次部署，因为在部署时会对checkout代码进行reset\u0026clean，这样会相互之间造成影响\n2. rc错误码完善\n3. 权限控制的更合理，对资源的访问权限需要更加细化\n4. API返回的结果中无须返回数据库中的所有字段，应该按需返回\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeanstrong%2Fpydelo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeanstrong%2Fpydelo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeanstrong%2Fpydelo/lists"}