如何自动部署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 -c &

其中, 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 -c --port 8556 &

参考

相关推荐
csdn2015_3 天前
vscode从gitlab拉项目到本地
vscode·gitlab
AOwhisky6 天前
AI审AI:GitLab上线AI代码审查,开发者可以松一口气了吗?
人工智能·gitlab
杨了个杨89827 天前
GitLab的简介及安装
gitlab
AOwhisky8 天前
云原生 DevOps 工具链从入门到实战(第一期)——DevOps概述与GitLab部署——从理念到工具落地
运维·ci/cd·云原生·gitlab·开发·devops
不厌 -_-9 天前
gitlab中怎么创建MR提交模板
gitlab·mr
酿情师10 天前
Gitlab 任意文件读取漏洞(CVE-2016-9086)
gitlab
糖果罐子♡11 天前
TortoiseGit 首次上传本地工程至已初始化的GitLab仓库教程
gitlab
Byron Loong11 天前
【Git】如何检查 Ubuntu 系统上 gitLab 是否开启
git·ubuntu·gitlab
QN1幻化引擎12 天前
SFA 信号场注意力:用8KB参数换248x KV Cache压缩,边缘设备也能跑长序列
人工智能·算法·gitee·gitlab
阿里云云原生12 天前
研发福音:云效 AI 智能评审正式支持 GitLab 集成,VPC 内网即可实现自动审阅
gitlab