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 checkout -f
具体总结
su - git
cd /opt/git/repositories/xx/xx.git
rm -rf hooks
cp -r /opt/git/gitlab-shell/hooks ./
cd hooks
rm -rf pre-receive update
ln -s /opt/git/gitlab-shell/hooks/pre-receive  pre-receive
ln -s /opt/git/gitlab-shell/hooks/update update
vim  post-receive
#!/bin/bash
web_dir=/opt/xx/xx/
git --work-tree=$web_dir checkout -f

git checkout不够好,更进一步看下面的链接

利用git push向服务器一键部署代码

gitlab hook 加了expect

时间: 2024-10-12 20:05:06

gitlab 使用原始的hooks同步到某一个目录的相关文章

使用rsync+inotify的方式监控一个目录,当被监控目录下的子目录被移走后无法同步的问题

最近在测试rsync+inotify的方式同步PHP代码到一个集群下的WEB服务器.如被监控的目录是/var/www/html下有三个目录 dream_android  dream_ios  game_router 当我把dream_android这个目录更名为android后,发现其他服务器上没有出现android并且原有的dream_android并没有被删除.测试游戏时发现大量的404错误,最大的问题就是代码同步出现了问题. 检查同步脚本中inotify和rsync相关的信息 /usr/b

Spring与Quartz使用说明 job不同步执行(第一个job完成后才开始第二个job)

转自:http://blog.sina.com.cn/s/blog_675e9aeb0100qghp.html 最 近因为项目后台需要使用一个线程去定时跑一些任务,所以看了一下Spring和Quartz的使用与集成.例如发短信.邮件.根据实际使用,此集成使用比 自己去写线程方便和灵活,可以不用代码实现复杂的计划任务,如“1月份的每周三.周五的早上9点至10点每5钟一次任务”.所以分享一下. Quartz官方网址:http://www.quartz-scheduler.org/ 集成方法 集成起来

Google Drive 和 Dropbox 同步同一个文件夹目录

 Dropbox 也是非常棒的同步工具,例如先进的增量上传或者更开放的 API 等.可是为什么不曾想过把 Google Drive 和 Dropbox 同时使用呢,我是说,让这两者同时云同步同一个文件夹目录?这样我既可以使用前者强大的协作编辑功能,也能使用后者更丰富的 API 接口.可我只在网上看到一个同步另一个子目录的形式,这很不好.于是,在我自己的一番尝试后,我成功地达到了目的,下面是我的方法. 指引 / 跳至[收缩] 1 退出并清理内容 2 下载并安装 Dropbox 3 下载并安装 Go

svn hooks 同步设置

昨天配置了一下午svn  hooks 本了很简单的一件事情,却因为 一个https弄的异常难搞. 在hooks的目录下,编辑 post_commit之后,始终无法updae,原因是,需要ssl验证主机. 在网上查看了下,用了svn ls  https://****之后,弹出需要确认,输入p,输入密码之后还是不行. 于是,我怀疑是用户的是.svn+apache  做的https协议.应该是用apache用户跑的吧. 可是apache用户我设置的是没有登陆权限的.怎么办? 只好usermod  修改

centos7配置svn钩子hooks脚本自动同步代码到项目目录

由于项目需要,svn提交后的代码希望再测试服务器上测试,每次提交后还要手动去svn update一次 十分麻烦,配置好svn钩子以后就省去了这些麻烦. 进入svn版本库目录找到hooks目录找到文件post-commit.tmpl 复制出一个命名为post-commit的文件,并修改权限为可执行权限 命令如下: cd /var/data/svndata/myproject/hooks cp post-commit.tmpl post-commit chmod 755 post-commit vi

Linux下svn提交文件后自动同步更新到网站目录

有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkout代码,例如我的目录是/data/www/test svn co https://127.0.0.1/test/trunk//data/www/test/ 注意,这是因为有时我会在服务器上直接修改代码,所以用checkout,如果不需要,可以用export,此指令不带.svn版本文件. 迁出代码后,

(二)线程同步_1---同步一个方法

同步一个方法(Synchronizing a method) 在并发编程中,最常见的情景莫过于多线程共享同一资源的情景了,例如多个线程同时读写相同的数据或者同时访问相同的文件或数据库连接,如果不采取一个控制机制,那么就会造成数据的不一致甚至是错误发生: 为了解决这些问题,引入了临界区域(critical section)的概念,一个临界区域是指一个用来控制资源访问的代码块,以保证被访问的资源不会同时被多个线程访问,从而保证了数据的一致性: java中提供了Synchronization机制,当一

把包从一个数据库同步到另一个数据库

源库 表 create table CUX_PKG_COPY ( copy_id   NUMBER, pkg_name  VARCHAR2(30 ), copy_date DATE, type      VARCHAR2(30 ), pkg_txt   CLOB ); create sequence CUX_PKG_COPY_S start with 1; 方法 create or replace procedure copy_pkg(p_pkg_name varchar2 ) /*******

转: 【Java并发编程】之十四:图文讲述同步的另一个重要功能:内存可见性

转载请注明出处:http://blog.csdn.net/ns_code/article/details/17288243 加锁(synchronized同步)的功能不仅仅局限于互斥行为,同时还存在另外一个重要的方面:内存可见性.我们不仅希望防止某个线程正在使用对象状态而另一个线程在同时修改该状态,而且还希望确保当一个线程修改了对象状态后,其他线程能够看到该变化.而线程的同步恰恰也能够实现这一点. 内置锁可以用于确保某个线程以一种可预测的方式来查看另一个线程的执行结果.为了确保所有的线程都能看到