GitLab勾子(hooks)实现简单自动部署项目

马克飞 1月前 77

从这出门右转,我有写过一个gitlab提交自动同步代码的方法,这次加一个简单的push自动部署的方法

一、GitLab配置ssh-rsa公钥

  • 这里不做展开,我之前的文章有写,可出门右转找一下

二、服务器上操作步骤

  • 进入需要解析的目录创建git和project两个文件夹

    mkdir git

    mkdir project

  • 进入git目录,执行下面命令

    git init --bare # 初始化空的git版本库

  • 初始化后会生成如下目录

    [root@aaaa hooks]# ll

    总用量 44

    -rwxr-xr-x 1 root root 452 4月 10 17:08 applypatch-msg.sample

    -rwxr-xr-x 1 root root 896 4月 10 17:08 commit-msg.sample

    -rwxr-xr-x 1 root root 57 4月 10 17:09 post-receive

    -rwxr-xr-x 1 root root 189 4月 10 17:08 post-update.sample

    -rwxr-xr-x 1 root root 398 4月 10 17:08 pre-applypatch.sample

    -rwxr-xr-x 1 root root 1704 4月 10 17:08 pre-commit.sample

    -rwxr-xr-x 1 root root 1239 4月 10 17:08 prepare-commit-msg.sample

    -rw-r--r-- 1 root root 1348 4月 10 17:08 pre-push.sample

    -rwxr-xr-x 1 root root 4951 4月 10 17:08 pre-rebase.sample

    -rwxr-xr-x 1 root root 3611 4月 10 17:08 update.sample

  • 进入hooks目录,如果没有post-receive文件则新增有则修改如下

    GIT_WORK_TREE=/data/aaaa/project git checkout -f master # aaa为目录名

三、本机上操作步骤

  • 进入需要提交的分支,执行下面命令

    git remote add server-test ssh://root@xxx.xx.xx.xx/data/aaa/git

  • 执行下面命令进行代码提交

    git push server-test

  • 可以看到在服务器上我们刚建的project目录上已经有代码提交上来了,完成!

最新回复 (0)
    • 都市菜鸟网
      2
        立即登录 立即注册 
返回