当前位置: 首页 > 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

相关文章:

  • 【Elasticsearch】Elasticsearch 核心技术(一):索引
  • 《 C++ 点滴漫谈: 四十 》文本的艺术:C++ 正则表达式的高效应用之道
  • 【机器学习基础】机器学习入门核心:数学基础与Python科学计算库
  • deep forest安装及使用教程
  • 各地数字化转型服务商要求的核心特性解析
  • 调用蓝耘API打造AI 智能客服系统实践教程
  • css使用scoped之后样式失效问题
  • 自定义Shell命令行解释器
  • SCAU8643--简单选择排序
  • 微软PowerBI考试 PL-300学习指南
  • 内存管理--《Hello C++ Wrold!》(8)--(C/C++)--深入剖析new和delete的使用和底层实现
  • Linux--进程概念
  • 源码解析(三):Stable Diffusion
  • 嵌入式学习笔记 - freeRTOS 动态创建任务跟静态创建任务的区别,以及内存回收问题
  • 【AI智能体】Spring AI MCP 从使用到操作实战详解
  • 概率统计:AI大模型的数学支柱
  • 【HW系列】—安全设备介绍(开源蜜罐的安装以及使用指南)
  • 做好 4个基本动作,拦住性能优化改坏原功能的bug
  • 数据库系统概论(十二)SQL 基于派生表的查询 超详细讲解(附带例题表格对比带你一步步掌握)
  • 【C#】Quartz.NET怎么动态调用方法,并且根据指定时间周期执行,动态配置类何方法以及Cron表达式,有请DeepSeek
  • 天津平台公司/seo公司杭州
  • 自己 做网站学什么 平面设计/咸阳seo公司
  • 网站行程表怎么做/济南seo顾问
  • a做片手机免费网站/公司网站建设多少钱
  • 如何利用网站开发国外客户/作品推广
  • wordpress 整站加密/东莞全网推广