【原创】利用gitlab多项目自动部署到多个网站目录,自动同步更新,不用插件,重写钩子
原创内容,分享请保留链接。
0.首先在服务器安装gitlab,网上一堆过程省略
1.建几个空仓库admin、web、xxxx等(1个仓库也行)。确保每个仓库名称和网站名称要有一致性,比如仓库叫admin,网站目录/www/wwwroot/admin.xxxxx.com 要包含admin。。

2.找到gitlab统一管理仓库的hooks目录 设置钩子
cd /opt/gitlab/embedded/service/gitlab-shell/hooks

3. 编辑post-receive文件,一次就可以,gitlab为了升级方便,所有仓库hooks都是软连接到这里。
vi post-receive
清空原有内容,输入以下内容 ,保存退出。$s2_value就是可变的仓库名称,这里用了数组分割,可根据目录结构自己更改
#!/bin/bash
#获取当前目录
DIR_NAME=$( cd $(dirname $BASH_SOURCE) && pwd)
#创建数组,根据/进行分割
array=(${DIR_NAME//// })
#获取最后第二个元素
s_value=${array[${#array[*]}-2]}
#创建数组,根据.进行分割
array2=(${s_value//./ }) #获取第一个元素
s2_value=${array2[0]}
#echo $s2_value
git --work-tree=/www/wwwroot/$s2_value.xxxxx.com checkout -f
4.给post-receive执行权限
chmod +x post-receive
5.将www加入git用户组
usermod -a -G git www
6.设置网站目录权限为777,有几个网站就弄几个。
chmod -R 777 /www/wwwroot/admin.xxxxx.com
ok,其他就是git通用的操作了,每次其它地方同步到服务器仓库的代码就自动到网站目录里了。
【原创】利用gitlab多项目自动部署到多个网站目录,自动同步更新,不用插件,重写钩子的更多相关文章
- Capistrano:自动完成多台服务器上新版本的同步更新,包括数据库的改变
https://baike.baidu.com/item/Capistrano/6844928?fr=aladdin Capistrano是一种在多台服务器上运行脚本的开源工具,它主要用于部署we ...
- Eclipse中的Web项目自动部署到Tomcat的webapp目录下
Eclipse中的Web项目自动部署到Tomcat 原因 很长时间没用Eclipse了,近期由于又要用它做个简单的JSP项目,又要重新学习了,虽然熟悉的很快,但记忆总是很模糊,偶尔犯错,以前很少写 ...
- 利用Powershell自动部署asp.net mvc网站项目 (一)
这一篇中我们会写一些关于自动化部署的代码.我们会使用 Powershell 书写这类代码. 你将发现这篇文章中涉及的东西非常具体,有的要求甚至相当苛刻且可能不具有通用性.这是因为部署从来都是跟环境打交 ...
- 利用Jenkins实现项目自动化部署
1.安装Jenkins,参考上一篇博客:安装Jenkins 安装Java 安装tomcat 安装maven 2.全局工具配置,填写好后点击save 3.安装git plugin插件
- git自动部署到服务器
1.现在服务器配置空仓库 mkdir -p test/project.git chmod 777 test cd test/project.git/ git init --bare . cd .. c ...
- gitlab之gitlab-runner自动部署(二)
转载自:https://blog.csdn.net/hxpjava1/article/details/78514999 简介 gitlab-ci全称是gitlab continuous integra ...
- gitlab之gitlab-ci自动部署
简介 gitlab-ci全称是gitlab continuous integration的意思,也就是持续集成.中心思想是当每一次push到gitlab的时候,都会触发一次脚本执行,然后脚本的内容包括 ...
- [后端]gitlab之gitlab-ci自动部署
转发:https://www.jianshu.com/p/df433633816b 简介 gitlab-ci全称是gitlab continuous integration的意思,也就是持续集成.中心 ...
- myeclipse + tomcat 项目自动部署
在MyEclipse中设置项目的自动部署需要综合考虑两个方面: 1是MyEclipse本身,通过主菜单中project->auto ,另一个就是tomcat配置文件.配置文件包括 conf 下的 ...
- Eclipse自动部署项目到Tomcat的webapps下的有效方法
开发JavaEE项目,常用的工具有MyEclipse,Eclipse,netBeans等,我比较喜欢用Eclipse,因为相比MyEclipse体积小很多,响应速度也快,且足以满足需求,我喜欢简洁的编 ...
随机推荐
- 2024 年 04 月编程语言排行榜,PHP 排名创新低?
编程语言的流行度总是变化莫测,每个月的排行榜都揭示着新的趋势.2024年4月的编程语言排行榜揭示了一个引人关注的现象:PHP的排名再次下滑,创下了历史新低.这种变化对于PHP开发者和整个技术社区来 ...
- Gitlab私有存储库支持SourceLink 调试之使用proxy方式
前情概要 在 让你发布的nuget包支持源代码调试#为gitlab的私有源代码项目提供支持 小节中有介绍到如何让gitlab的私有存储库支持SourceLink. 其中有一个方法是说在vs中打开web ...
- docker常用命令与应用
docker入门与docker file介绍 原文地址 docker常用命令 https://blog.csdn.net/leilei1366615/article/details/106267225 ...
- 经验总结之 _DEBUGGER _03 _Server Tomcat v8.0 Server at localhost was unable to start within xx seconds
经验总结之 _DEBUGGER _03 _Server Tomcat v8.0 Server at localhost was unable to start within xx seconds 好好 ...
- C++ 迪利克雷(Dirichlet)分布
遇到一个要使用 dirichlet 分布的情形,发现 C++ 标准库中没有现成的.查阅维基百科发现,虽然它挺复杂,但是它跟 Gamma 分布有如下关系: 设有 K 个相互独立且分别满足 Gamma 分 ...
- 24暑集训Week1
24暑集训Week1 夜行的人,若你不唱歌的话,不惊醒这黑夜的话,就永远也走不出呼蓝别斯了. 这重重的森林,这崎岖纤细的山路,这孤独疲惫的心. 亲爱的,哪怕后来去到了城市,走夜路时也要大声地唱歌,像喝 ...
- reg文件书写规则
reg文件可以很方便地用来修改注册表,这里记录一下reg文件的书写规则. 注释 分号(;)后面的内容是注释,导入时会忽略这些内容. 文件基本格式 首行写: Windows Registry Edito ...
- ubuntu系统下安装 steam 游戏平台
方法1:安装命令: sudo snap install steam 方法2:下载安装: 地址: https://store.steampowered.com/about/
- IPC-7711/21D, IPC-7711D, IPC-7721D 电子组件的返工、修改和维修,验收标准。Rework, Modification and Repair of Electronic Assemblies
IPC-7711/21 - Revision D - Standard Only: Rework, Modification and Repair of Electronic Assemblies T ...
- php 异步并行后续--兼容FPM使用的组件
上次给人推荐了这篇文章,关于PHP异步并行的文章,之后有人评论问这个组件能不能给fpm用,我测试了一下发现不行,于是又找到一个可以给fpm用的http请求组件. 安装很简单,就这样 composer ...