load(); $worker = new Worker('http://0.0.0.0:8787'); $worker->onConnect = function ($connection) { echo "New connection\n"; }; $worker->onMessage = function (TcpConnection $connection, Request $request) { $work_dir = isset($_ENV['WORK_DIR']) ? $_ENV['WORK_DIR'] : null; $branch = isset($_ENV['BRANCH']) ? $_ENV['BRANCH'] : null; $git_url = isset($_ENV['GIT_URL']) ? $_ENV['GIT_URL'] : null; if ($work_dir && $branch && $git_url) { $repository = $request->post('repository'); if (is_array($repository)) { $ssh_url = isset($repository['ssh_url']) ? $repository['ssh_url'] : null; $clone_url = isset($repository['clone_url']) ? $repository['clone_url'] : null; if ($git_url === $ssh_url || $git_url === $clone_url) { chdir($work_dir); shell_exec("sh auto_build.sh > /dev/null &"); $connection->send("Deployment finished\n"); $connection->close(); } } } }; // 运行worker Worker::runAll();