gitlab hooks

之前一直用文件同步工具进行两台服务器之间的同步

最初的目的是吧gitlab的代码库同步到开发环境中运行 实时的 ,后来由于gitlab的代码仓库的代码不是实时的 于是在即使同步不适合 我的需求。

后来查看到了gitlab的 hooks 可以根据 push 等事件进行调用链接

于是在gitlab中添加了一个服务器端的链接

服务器端的php

<?php
// shell pull 最新的服务器上的文件到当前目录
$shell=system("/bin/bash pull.sh",$ttt);

?>

pull.sh

#!/bash/bin
git pull

原理:

服务器端 的运行目录其实就是一个clone的gitlab中的版本 ,只要gitlab仓库有更新 用 hooks 就调用git pull 拉取最新的代码在服务器端 这样就实现了 自动部署

时间: 2024-12-31 10:41:00

gitlab hooks的相关文章

搭建 Linux 下 GitLab 服务器【转】

转自:http://blog.csdn.net/passion_wu128/article/details/8216086 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 平台需求 硬件需求 本安装指南已于 DebianUbuntu 测试通过 重要信息 1 安装依赖包 数据库 SQLite MySQL PostgreSQL 2 安装 Ruby 3 安装 Gitolite 检查退出并重新登录以使 git 用户组生效 4 克隆 GitLab 源代码并安装先决条件 选择你希望使

gitlab 日常运维命令

2018-10-24 gitlab查看版本 cat /opt/gitlab/embedded/service/gitlab-rails/VERSION 查看gitlab服务状态命令 gitlab-ctl status 启动.停止服务 # 启动Gitlab所有组件 sudo gitlab-ctl start # 停止Gitlab所有组件 sudo gitlab-ctl stop # 重启Gitlab所有组件 sudo gitlab-ctl restart 备份与恢复 备份配置 配置文件再/etc/

git ,创建生成 making git-svn work on mac tiger

http://www.mikeheijmans.com/2008/04/make-git-svn-work-on-mac-osx-tiger/ After a few hours of googling and pull some hair out, I have finally figured out how to make git-svn work on Mac OSX 10.4 Tiger. If you have installed git on your Mac using mac-p

自动化发布-GitLab WEB Hooks 配置

钩子(hooks)Git是在特定事件发生之前或之后执行特定脚本代码功能(从概念上类比,就与监听事件.触发器之类的东西类似).Git Hooks就是那些在Git执行特定事件(如commit.push.receive等)后触发运行的脚本.gitlab的web hooks跟git hook类似.也是当项目发生提交代码.提交tag等动作会自动去调用url,这个url可以是更新代码.或者其他操作. 配置目的: 由于系统属于后台接口系统,开发提交完git仓库后要实时的部署到测试环境,这时候就需要用到gitl

gitlab 使用原始的hooks同步到某一个目录

问题 1.使用默认git-shell的hooks,如果更改post-receive,所有的文件都会更新所有 现在只能这样做了 ln -s /opt/git/gitlab-shell/hooks/pre-receive  pre-receive ln -s /opt/git/gitlab-shell/hooks/update update cat post-receive #!/bin/bash web_dir=/opt/xx/xx/ git --work-tree=$web_dir checko

gitLab 全局hooks和custom_hooks,以及怎样实现自动pull

写代码的时候,git push到远程代码库后,往往还要连到服务器上pull代码才能进行测试.代码push后自动更新测试服务器的代码也算是一种刚需了. gitLab的钩子分为两大类:1.web hooks 2.custom hooks,这是调用git原生钩子,这里的钩子也有两种类型:(1)全局钩子 (2)每个项目对应的钩子. 这几天踩了很多坑,才用一种迂回的方法解决了问题.介绍一下GitLab和ubuntu的版本: (1)Ubuntu 16.04.1 LTS + GitLab Community

jenkins 设置 gitlab web hooks

背景 接口自动化期望代码push后触发实现持续集成,代码push后,自动化执行jenkins的job. 步骤 准备工作 工具:jenkins,gitlab jenkins需要安装插件:git plugin,gitlab hook plugin , gitlab plugin(有的插件是自带的,缺什么安装什么) gitlab:确保有web hook权限,这个跟公司的gitlab有关,入口settings下的web hooks如下: 确保gitlab跟jenkins的连通性 hook的大概原理其实很

通过gitlab的webhook进行网站的自动发布

作用:本地提交代码到git仓库以后,自动同步到服务器,避免每次重新登录到服务器去pull代码.本人主要用于管理开发环境和测试环境,在频繁修改开发代码时,每次通过提交git仓库,自动同步到测试环境,减少单独去发布测试环境的过程.配置测试环境:Linxu 系统,Nginx,Php,GitLab 原理:1.建立一个勾子文件,作用是通过php程序去pull代码.2.本地提交代码到git仓库时,通过webhook设置,去触发1中建立的勾子文件,以实现代码同步.3.设置ssh-keygen,让勾子文件执行p

gitlab install centos 详细步骤!

GitLab GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目.它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释.可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库.团队成员可以利用内置的简单聊天程序(Wall)进行交流.它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找. CentOS安装GitLab 一.环境 软件 版本 CentO