203 git hook 一次自动部署实践

最近申请了一个阿里云主机,准备搞个人项目,我希望最简化项目发布流程,用jenkins还是觉得不够简单,所以决定用git hooks

假设本地仓库叫做home,远程库叫做base(只保存版本信息、不保存代码),远程发布的仓库叫做deploy(最终访问的目录)

本地仓库

$ mkdir home && cd home
  F:\UPUPW_NP7.0\htdocs\home>
$ git init
$ touch index.php
  F:\UPUPW_NP7.0\htdocs\home [master +1 ~0 -0 !]>

$ echo "echo '1';">index.php
$ git add .
$ git commit -m "test"

远程保存版本信息的base仓库

//ssh 连接阿里云
ssh 127.28.74.349

# cd /home/workspace/
# mkdir base && cd base
  root@xxxxxx:/home/workspace/base#
# git init --bare

创建post-receive脚本

  root@xxxxxx:/home/workspace/base#
# touch hooks/post-receive
# vim hooks/post-receive

      #!/bin/bash
      echo "Running post-receive"
      set -xe  # 报错则停止

      unset $(git rev-parse --local-env-vars)

      cd /home/workspace/deploy/  # 发布的目录
      /usr/bin/git checkout master  # checkout master 分支
      /usr/bin/git pull  # 直接pull

:wq 

# chmod u+x hooks/post-receive

发布目录

创建发布目录、直接clone即可

  root@xxxxxx:/home/workspace/base#
# cd ..
  root@xxxxxx:/home/workspace
# git clone base deploy

回到本地

  F:\UPUPW_NP7.0\htdocs\home
$  git remote add test root@127.28.74.349:/home/workspace/base

上面也可以用ssh协议

$ git remote add test ssh://root@127.28.74.349/home/workspace/base

push

$ git push test master
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值