pickles2 / lib-plum
0.3.1
2021-05-25 11:25 UTC
Requires
- php: >=5.4.0
- tomk79/filesystem: ^1.0.0
Requires (Dev)
- phpunit/phpunit: ^4.1.0
README
这是一个提供将Web项目部署到测试环境的功能的库。
安装 - 安装
$ composer require pickles2/lib-plum
设置方法 - 设置
客户端
<link rel="stylesheet" href="/path/to/vendor/pickles2/lib-plum/dist/plum.css" /> <script src="/path/to/vendor/pickles2/lib-plum/dist/plum.js"></script> <div id="plum-area"></div> <script> var plum = new Plum( document.getElementById('plum-area'), { 'gpiBridge': function(data, callback){ $.ajax({ 'url': '/api.php', 'method': 'POST', 'data': { 'data': data }, 'success': function(result){ callback(result); } }); } } ); plum.init(); window.addEventListener('message', function(e){ plum.broadcastMessage(e.message); }); </script>
服务器端
<?php // 実行環境に合わせてパスを設定 require_once('./vendor/autoload.php'); $plum = new hk\plum\main( array( // Plumが内部で使用するデータ保管用ディレクトリ // (書き込みが許可されたディレクトリを指定) 'data_dir' => '/path/to/data_dir/', // ステージングサーバ定義 'staging_server' => array( // ステージングサーバの数だけ設定する // // string 'name': // - ステージングサーバ名(任意) // string 'path': // - ステージングサーバ(デプロイ先)のパス // string 'url': // - ステージングサーバのURL // Webサーバのvirtual host等で設定したURL // array( 'name' => 'Staging 1', 'path' => './../repos/stg1/', 'url' => 'http://stg1.localhost/' ) ), // Git情報定義 'git' => array( // リモートのURL 'url' => 'https://host.com/path/to.git', // ユーザ名 // Gitリポジトリのユーザ名を設定。 'username' => 'user', // パスワード // Gitリポジトリのパスワードを設定。 'password' => 'pass' ), // 基本認証パスワードのハッシュ生成アルゴリズム名 // 'bcrypt'|'md5'|'sha1'|'crypt'|'plain' 'htpasswd_hash_algorithm' => 'crypt', ) ); $plum->set_async_callbacks(array( 'async' => function( $params ){ /* async 非同期で実行するコールバック関数を拡張します。 ここで受け取った `$message` を、 非同期に `$plum->async($params);` へ転送してください。 */ }, 'broadcast' => function( $message ){ /* メッセージをブラウザに送るコールバック関数を拡張します。 ここで受け取った `$message` を、 フロントエンドの `plum.broadcastMessage($message);` へ転送してください。 */ } )); $json = $plum->gpi( $_POST['data'] ); header('Content-type: application/json'); echo json_encode( $json );
异步重调
<?php require_once('./vendor/autoload.php'); $plum = new hk\plum\main( /* 中略 */ ); $json = $plum->async( $params );
授予部署目录的写入权限
以下目录没有执行用户写入权限时,请授权。
staging_server->path・・・ 部署服务器的路径data_dir・・・ 数据目录的路径
更新日志 - 变更日志
pickles2/lib-plum v0.3.1 (2021年5月25日)
- 修正了在没有Git远程分支
master时检查出的失败问题。 - 添加了选项
htpasswd_hash_algorithm。 - 其他细节修正。
pickles2/lib-plum v0.3.0 (2021年4月28日)
- 将选项
temporary_data_dir重命名为data_dir。 - 在本地主仓库中执行到
git fetch为止,而不是执行git pull,以节约磁盘空间。 - 改善了UI。为每个测试环境添加了详细信息页面。
- 为每个测试环境添加了设置密码的功能。
- 可以将耗时操作异步执行。
pickles2/lib-plum v0.2.0 (2020年11月7日)
- 支持远程仓库在本地磁盘上的情况。
- 废弃了选项
git->protocol、git->host、git->repository、_GET、_POST、additional_params,将preview_server重命名为staging_server。 - 添加了选项
temporary_data_dir。 - 更改了客户端库的文件结构。
- 隐藏了CSS、JS以防止外部影响。
- 更改了调用JavaScript环境的方式。
- 添加了GPI。
- 其他细节修正。
pickles2/lib-plum v0.1.3 (2020年11月3日)
- 修复了一些小错误和内部代码的修正。
pickles2/lib-plum v0.1.2 (2019年6月12日)
- 添加了选项
additional_params。 - 使选项
_GET、_POST可省略。
pickles2/lib-plum v0.1.1 (2018年10月19日)
- 当Git远程仓库的ID和密码未设置时,改为无认证访问。
- 解析Git仓库的URL以补充配置。可以以如下完整URL的形式设置:
https://user:pass@host.com/path/to.git。 - 修正了与OS命令注入相关的漏洞。
pickles2/lib-plum v0.1.0 (2018年6月7日)
- 初始发布。
许可证 - 许可证
版权 (c)Kyota Hiyoshi, Tomoya Koyanagi, 和 Pickles项目
MIT许可证 https://open-source.org.cn/licenses/mit-license.php
作者 - 作者
- Kyota Hiyoshi hiyoshi-kyota@imjp.co.jp
- Tomoya Koyanagi tomk79@gmail.com