Centos7系统下配置Git服务器(9)-- CI/CD 原生Git代码自动上线

实现自动化部署的方式有很多,大家百度到的都是Jenkins。实际上CI/CD的方式还有很多。在博文中我至少列举了三种形式。第一种Jenkins 第二种TecmCity 第三种就是原生Git hooks实现。

Centos7.x Git服务器部署教程参考

0x1在服务器初始化一个远程git仓库

1) git initgit init --bare 的区别

初始化出来的仓库是不一样的,前者初始化的是一个普通的仓库,其中 .git 文件夹是隐藏的,并且能看见该仓库下所有的源码。而后者初始化出来的仓库中的文件,就是 .git 中的文件夹,但不能像前者那样直接浏览或修改仓库中的代码。

2) 使用 git init --bare 初始化一个远程仓库。

该仓库是用于项目部署的。在我们本地开发完成后,将项目push至该仓库后,将自动部署网站。

[root@git git]# git init --bar project.git
Initialized empty Git repository in /home/git/project.git/
[root@git git]# ls
project.git
[root@git git]# cd project.git/
[root@git project.git]# ls
branches  config  description  HEAD  hooks  info  objects  refs
[root@git project.git]# 

3) 网站的根目录

[root@git www]# chown -R git:git html
[root@git www]# cd html/
[root@git html]# ls
[root@git html]# ls
index.html  readme.md
[root@git html]#

4) 为远程仓库设置一个 hook

[root@git git]# cd project.git/
[root@git project.git]# ls
branches  config  description  HEAD  hooks  info  objects  refs
[root@git project.git]# cd hooks
[root@git hooks]# 
[root@git hooks]# cp post-update.sample post-update

vim编辑post-update

#!/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".

#exec git update-server-info
unset GIT_DIR 
DIR_ONE=/var/www/html  #此目录为服务器页面展示目录 
cd $DIR_ONE
git init
git remote add origin /home/git/project.git
#git clean -df
git pull origin master
echo "同步完成"

根据自己的业务需求,修改脚本实现不同的功能。

该脚本添加可执行权限

[root@git hooks] chmod +x post-update

5) 在客户端提交代码检查/var/www/html是否有推送

[root@web01 project]# touch 404.html
[root@web01 project]# git add .
[root@web01 project]# git commit -m "add index1.html"
[master 8beace1] add index1.html
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 404.html
[root@web01 project]# git remote add origin git@192.168.0.109:/home/git/project.git
fatal: remote origin already exists.
[root@web01 project]# git push origin master
git@192.168.0.109's password: 
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 249 bytes | 0 bytes/s, done.
Total 2 (delta 0), reused 0 (delta 0)
remote: Reinitialized existing Git repository in /var/www/html/.git/
remote: fatal: remote origin already exists.
remote: From /home/git/project
remote:  * branch            master     -> FETCH_HEAD
remote:    0ce3c62..8beace1  master     -> origin/master
remote: Updating 0ce3c62..8beace1
remote: Fast-forward
remote:  404.html | 0
remote:  1 file changed, 0 insertions(+), 0 deletions(-)
remote:  create mode 100644 404.html
remote: 同步完成!
To git@192.168.0.109:/home/git/project.git
   0ce3c62..8beace1  master -> master
[root@web01 project]# 

显示同步完成!证明hooks已经调用

[root@git hooks]# cd /var/www/html
[root@git html]# ls
404.html  index.html  readme.md
[root@git html]# 

到/var/www/html 目录中验证代码已经同步过来。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,444评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,421评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,036评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,363评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,460评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,502评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,511评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,280评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,736评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,014评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,190评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,848评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,531评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,159评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,411评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,067评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,078评论 2 352