nekudo/shiny_deploy
Composer 安装命令:
composer require nekudo/shiny_deploy
包简介
ShinyDeploy is a deployment tool written in PHP and JavaScript.
README 文档
README
ShinyDeploy is a deployment tool written in PHP and JavaScript. It's main goal is to provide an easy way to deploy files from your GIT repositories to your servers.
Features
Graphical user interface
All action from adding servers and repositories to deployments can be managed from simple and easy to use GUI.
Secure data storage
Sensitive data like usernames and passwords are encrypted before storing them in database. Decryption is only possible with a password you need to enter during login.
List changed files before deploy
Before deploying to a target server you can list all files that have been changed since last deploy. Using a diff-view you can even review changes before uploading.
Execute tasks before/after deploy
It is possible to define simple ssh commands to be executed before/after each deployment. This feature may be useful to re-start applications, build css/js or do whatever is necessary to deploy your application.
Webhook support
Once a Deployment is created you can generate an API-URL. Using this URL you can trigger deployments directly from GitHub, Bitbucket or Gitea as soon as you push changes to your repositories.
Open source
The whole project is open-source and MIT license. This way you can host your own instance in your local network and don't have to worry about giving sensitive information away. And of course you can modify the application in any way you like.
Installation
Requirements
The following software is required to run this application.
- Webserver (Nginx, Apache, ...)
- MySQL Server
- PHP >= 8.0
- ZeroMQ Extension
- Gearman Extension
- Curl extension
- Mysqli extension
Installation procedure
-
Install project using composer.
composer create-project nekudo/shiny_deploy myshinydeploy -
Adjust config files in the following folders:
config/config.phpwww/js/config.js -
Run the installation script using the following command:
php cli/app.php install -
Point your virtual host document root to the
wwwdirectory and rewrite requests to the index.php file. -
To use this application you need to start up the websocket server and worker processes. This can be done by executing the following command:
php cli/app.php start
Update procedure
To update an existing instance of ShinyDeploy the first step is to update the files. You can either use a simple
git pull to do this (in case you installed the application trough composer) or just override all the files with
a fresh copy downloaded from the project website.
Once the files are update you need to execution the update command which will execute all necessary migrations:
php cli/app.php update
Hint: Please have a look into the release notes before update you installation of ShinyDeploy to prevent any problems.
Developer Hints
In case you want to adjust CSS or JS you can use the robo.phar to rebuild the assets.
To build CSS/JS files run:
php robo.phar assets
To start a watcher automatically rebuilding files on modifications run:
php robo.phar watch
To list all available tasks run:
php robo.phar list
Happy hacking...
License
MIT
nekudo/shiny_deploy 适用场景与选型建议
nekudo/shiny_deploy 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 54 次下载、GitHub Stars 达 16, 最近一次更新时间为 2017 年 11 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「javascript」 「git」 「gearman」 「deployment」 「angular」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 nekudo/shiny_deploy 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 nekudo/shiny_deploy 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 nekudo/shiny_deploy 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Generates a Blade directive exporting all of your named Laravel routes. Also provides a nice route() helper function in JavaScript.
Easily manage git hooks in your composer config
Caching and compression for Twig assets (JavaScript and CSS).
A pretty nice way to expose your translation messages to your JavaScript.
MediaWiki extension that allows embedding external content, specified by URL, into your wiki pages
Nagios plugin to verify a git repository.
统计信息
- 总下载量: 54
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 16
- 点击次数: 14
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-11-27