当前位置: 首页 > news >正文

如何自动部署GitLab项目

如何自动部署

原理

  • GitLab有预制的钩子, 在代码提交/合并等事件中,会自动调用WebHoos, 即向该URL发送POST请求
  • 在布署服务器上监听该POST, 验证通过后执行相关的布置Shell脚本, 即可完成自动布署

配置环境

    1. 安装Python和Pip
  • 2.如果需要, 安装python的requests模块和argparse模块
pip install requests
easy_install argparse
    1. 下载监听脚本
curl https://raw.githubusercontent.com/zacksleo/docker-hook/master/docker-hook > /usr/local/bin/docker-hook; chmod +x /usr/local/bin/docker-hook
  • 4.脚本安装完成后即可使用docker-hook 命令, 默认监听8555端口
nohup docker-hook  -t  <auth-token>  -c  <command> &

其中, auth-token 替换为授权token, command替换为要执行的命令, 例如
auth-token为auto-deploy-pushserver,command为sh /mnt/pushserver/deploy.sh
则执行命令: docker-hook -t auto-deploy-pushserver -c sh /mnt/pushserver/deploy.sh

deploy.sh的内容为:

git push origin dev

nohup+&命令为该进程设置为守护进程, 防止进程退出

  • 5.在GitLab的项目设置里面,设置Webhooks, 本例子中则为139.198.9.141:8555/audo-deploy-pushserver

    1. 注意, 如果需要部署多个hooks, 则需要通过–port配置不同的端口, 例如
nohup docker-hook  -t  <auth-token2>  -c  <command2>  --port 8556 &

参考

  • docker-hook
http://www.lqws.cn/news/67087.html

相关文章:

  • 【黑马程序员uniapp】项目配置、请求函数封装
  • 铁电液晶破局 VR/AR:10000PPI 重构元宇宙显示体验
  • c++泛型编程入门与STL介绍
  • 【算法】回溯法
  • 强大的PDF编辑工具,操作方便 ,长久使用
  • Python数学可视化——显函数、隐函数及复杂曲线的交互式绘图技术
  • 【LLM vs Agent】从语言模型到智能体,人工智能迈出的关键一步
  • 三大模块曝光:分钟级搭建专属平台,解锁算力灵活操控新体验,重新定义智能开发效率天花板
  • 专业C++Qt开发服务,助力您的软件项目腾飞!
  • 【C#】Quartz.NET怎么动态调用方法,并且根据指定时间周期执行,动态配置类何方法以及Cron表达式,有请DeepSeek
  • 谷歌CEO皮查伊眼中的“下一代平台“与未来图景
  • Linux运维笔记:服务器安全加固
  • 【C++】类的构造函数
  • 信号处理基础到进阶再到前沿
  • 【Elasticsearch】ILM(Index Lifecycle Management)策略详解
  • Deepseek给出的8255显示例程
  • Linux --TCP协议实现简单的网络通信(中英翻译)
  • vscode 插件 eslint, 检查 js 语法
  • Cursor 编辑器介绍:专为程序员打造的 AI 编程 IDE
  • 【 HarmonyOS 5 入门系列 】鸿蒙HarmonyOS示例项目讲解
  • 云部署实战:基于AWS EC2/Aliyun ECS与GitHub Actions的CI/CD全流程指南
  • mac电脑安装 nvm 报错如何解决
  • 数据库系统概论(十三)详细讲解SQL中数据更新(插入,修改与更新)
  • Perl One-liner 数据处理——基础语法篇【匠心】
  • 电脑wifi显示已禁用怎么点都无法启用
  • SQL 执行顺序详解
  • Dify工作流实践—根据word需求文档编写测试用例到Excel中
  • 从 AMQP 到 RabbitMQ:核心组件设计与工作原理(一)
  • 【机器学习基础】机器学习入门核心:数学基础与Python科学计算库
  • 使用pandas实现合并具有共同列的两个EXCEL表