美文网首页
记一次git 自动化部署设置

记一次git 自动化部署设置

作者: Komolei | 来源:发表于2018-08-07 14:46 被阅读0次
  • 怎么连接阿里云
  1. 平常都是通过阿里云的管理终端进行命令行了,就是网页版的终端。但是在进行git来拉取代码的时候,要使用ssh。很尴尬,生成的公钥,无法复制到github的setting上去。总不能自己一个个敲键盘输入吧。所以直接google怎么进行ssh连接。
  2. 本人是使用deepin的,所以谷歌到openssh-client可以直接设置。
  3. 先参考阿里云的文档点击
    按照步骤来,一步步进行 步骤
  4. 最后成功登录远程阿里云服务器。


    成功

-使用git hooks进行项目自动部署

  1. 建议google先搜索一下 git hooks
  2. 在阿里云的服务器中
    cd /root // 切换到root,这个暂无要求,看你喜欢的,我就喜欢在root目录下新建目录
    mkdir - p opt/repo && cd opt/repo && git init --bare test.git // 新建目录,切换到repo目录下,同时初始化成裸仓库
    git init 与git init --bare的区别
  3. 然后cd test.git/hooks && cp post-update.sample post-update && vim post-update
  4. 看了很多教程,写的太多了,还不如直接写个bash脚本进行,shell教程 多看看教程,我下面的脚本很简单的,简直muggle
    粘贴下面内容
#! /bin/sh

# An example hook script to prepare a packed repository for use over
# dumb transports.
#
# To enable this hook, rename this file to "post-update".

unset GIT_DIR # 千万不要忘记写,我已经栽了一次坑

echo "begin cd path"

DIR_ONE="/root/var/build/management"
cd $DIR_ONE

echo "cd dir end"

if [ -d $DIR_ONE ];
then
        echo "remove dir"
        cd /root/var/build
        rm -rf management
        mkdir management && cd management
        echo "begin git init"
        git init
        git remote add origin "/root/opt/repo/test.git"
        git clean -df
        git pull origin master
        cd $DIR_ONE
else
        echo 'fuck'
        mkdir -p $DIR_ONE
        echo 'make dir success'
fi

echo "git pull end"
exit 0

warn: 不要忘记让脚本有权限继续执行chmod +x post-update

  1. 上面的操作都是在服务器中进行的,现在我们要到本地的电脑上(就是自己的电脑进行操作)
  1. 新建文件夹demomkdir demo,切换到demo目录下cd demo,然后初始化git init ,然后新建一个文件touch a.html,然后进行发布上传的工作,相关命令行git add prod root@hostIp(阿里云的公网ip地址):/root/opt/repo/test.git(服务器上git init --bare 初始的.git文件地址,一定要绝对完整的路径 git add . && git commit -m'test' && git push prod master,然后输入以上命令行之后,会要求你输入登录阿里云的密码,然后输入密码,不出意外就会出现 成功的样子 说明成功了
  1. 然后登录到阿里云的服务器,cd /root/var/build/management ls,就能看见你上传的代码了。
  2. 写的不好,自己看看能懂。。。哎,跟看别人文档一样,不知所谓。。。

相关文章

网友评论

      本文标题:记一次git 自动化部署设置

      本文链接:https://www.haomeiwen.com/subject/rymnvftx.html