指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub

gitlab-runner使用:

安装/部署:
https://www.cnblogs.com/scajy/p/15661187.html

https://juejin.cn/post/6844903937091321864

一个基于php的hook.php

<?php
set_time_limit(90);

//这一行将当前请求的 $_SERVER 变量的内容以 JSON 格式写入到 /tmp/hook.out 文件中,可能是为了调试或者记录请求的信息。
file_put_contents('/tmp/hook.out', json_encode($_SERVER));

//这里定义了一组被允许的 Git 仓库路径,使用 GitLab Token 作为索引。如果请求中的 Token 不在这个列表中,脚本会提前结束。
$allowedTokens = [ 
    'pj1' => '/var/www/git/branches/pj1/dev',
    'pj2' => '/var/www/git/branches/pj2t/dev',
];

$token = isset($_SERVER['X-Gitlab-Token']) ? $_SERVER['X-Gitlab-Token'] : ''; 
if (!isset($allowedTokens[$token])) {
    return;
}

//执行 Git Pull 命令
$cmd = "cd $allowedTokens[$token] && git pull";
var_dump(shell_exec($cmd));

上面这个只是一个基于gitlab-runner的php脚本程序,其实还有更灵活的方法实现,后面再整理一个