分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

gitlab+webhook

发布时间:2023-09-06 02:35责任编辑:苏小强关键词:暂无标签
<?php
#项目$project = trim($_GET[‘project‘]);if (empty($project)) { ???return json_encode([‘msg‘ => "project not exist."]);}#你的项目地址$wwwFile = ‘/server/webroot/‘ . $project . ‘/‘;
#钩子日志$fs = fopen(‘./hooks.log‘, ‘a‘);fwrite($fs, ‘================ Update Start ===============‘ . PHP_EOL . PHP_EOL);$accessToken = ‘QhNO8YHqym5PHQQsexapF7041xOhzm62DRH‘;
#白名单服务器执行ip$accessIp = [‘192.168.0.174‘, ‘192.168.2.204‘, ‘192.168.3.222‘];$clientToken = trim($_GET[‘token‘]);$clientIp = $_SERVER[‘REMOTE_ADDR‘];fwrite($fs, ‘Request on [‘ . date("Y-m-d H:i:s") . ‘] from [‘ . $clientIp . ‘]‘ . PHP_EOL);#密匙验证if ($clientToken !== $accessToken) { ???fwrite($fs, "Invalid token [{$clientToken}]" . PHP_EOL); ???return json_encode([‘msg‘ => "error 403"]);}#ip白名单验证if (!in_array($clientIp, $accessIp)) { ???fwrite($fs, "Invalid ip [{$clientIp}]" . PHP_EOL); ???return json_encode([‘msg‘ => "error 503"]);}//命令执行$output = shell_exec("cd {$wwwFile} && git stash && git pull && chown nginx. ./* -R 2>&1");
fwrite($fs, ‘Info:‘ . $output . PHP_EOL); fwrite($fs, PHP_EOL . ‘================ Update End ===============‘ . PHP_EOL . PHP_EOL);
$fs and fclose($fs);

gitlab+webhook

原文地址:https://www.cnblogs.com/GreenForestQuan/p/10522206.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved