71. git jenkin ------ Gitlab代码托管平台部署

1.了解开发流程

1.软件开发⽣命周期大概都要经过一系列的流程。

项⽬⽴项–>需求调研–>需求拆解–>交给不同的开发进⾏开发–>测试环境测试–>部署⽣产环境。
在这里插入图片描述

1.环境都是什么?

开发环境:(开发电脑所使⽤的环境。⼀般看是什么⼯程师、java、go、python )

测试环境:⼀般由测试⼈员⾃⼰来部署,然后在该环境进⾏测试。(必不可少 -->系统、软件、版本等,都和⽣产环境⼀致。)

2.从开发—>⽤户中间涉及到⼀些环境?

开发环境  测试环境  预⽣产环境   ⽣产环境

3.代码上线⽅式?

1.⼿动上线
2.⾃动上线

4.⾃动上线需要预备⼀些知识?

持续集成
持续交付
持续部署

5.⾃动化上线实时流程 (对应⼯具)

预⽣产环境:测试到⽣产环境的⼀个过渡。 ( 连接的是⽣产库。 与⽣产的域名不同。test.jd.com) ,保证产品的质量。

⽣产环境:即线上环境,⽤户使⽤的环境,⼀般是运维在维护,其他⼈员⼏乎⽆权限。

2.环境和环境之间的代码是如何部署的?

⼿动:效率低、⼲扰因素多、不安全

1.rz的⽅式。
2.scp、xftp⽅式等等。
3.登陆到代码托管平台,svn pull 、 git pull。

手动缺陷:
1.全程运维参与、占⽤⼤量时间。
2.如果节点多,上线速度慢。
3.⼈为失误多、⽬录管理混乱。
4.回滚不及时,或者难以回退。
 
⾃动:
效率⾼、⼲扰较为少、安全

1.持续集成 ( 简单⼯作、产品能快速迭代、保证⾼质量的产品。)
在这里插入图片描述
2.持续交付
在这里插入图片描述
3.持续部署了解即可:

在这里插入图片描述

滚动升级:摘⼀个节点,更新,然后接⼊,在摘掉另外⼀个节点、在更新、接⼊。
蓝绿发布:
git、gitlab (1 2 )
jenkins ( 3 4 5 )
git分布式版本控制软件

在这里插入图片描述

10.0.0.110 172.16.1.110 2g

第⼀阶段:单兵作战

yum install git -y
#你是谁,你的邮箱是,配置颜⾊
[root@git dy]# git config --global user.email "xxxxxx@qq.com"
[root@git dy]# git config --global user.name "oldxu"
[root@git dy]# git config --global color.ui true
[root@git ~]# mkdir dy
[root@git ~]# cd dy/
[root@git dy]# git init #将⽬录初始化为git的仓库
[root@git dy]# vim index.html
[root@git dy]# git add .
[root@git dy]# git commit -m "描述信息"
[root@git dy]#git log #查看提交的历史记录
在这里插入图片描述

第⼆阶段:开发新功能1

[root@git dy]# vim index.html
[root@git dy]# git add .
[root@git dy]# git commit -m "直播功能上线[master 7285d97] 直播功能上线
1 file changed, 1 insertion(+)

第三阶段:开发新功能2

加入交友功能
[root@git dy]# vim index.html
[root@git dy]#
[root@git dy]#git add .
[root@git dy]# git commit -m "直播功能上线"
[master 7285d97] 直播功能上线
1 file changed, 1 insertion(+)
[root@git dy]# vim index.html
[root@git dy]# git add .
[root@git dy]# git commit -m "约功能上线."
[master a901f68] 约功能上线.
1 file changed, 1 insertion(+)
在这里插入图片描述
有关部门查处。凉凉。整改。
[root@git dy]# git reset --hard 7285d97a63fe259a2fdcda7ef5bc91d5e400dc15 # 回到直播功能
HEAD 现在位于 7285d97 直播功能上线
[root@git dy]# cat index.html

#1.完成抖⾳短视频功能
...
...

#2.完成直播功能
...
...

##整顿好,然后可以继续上线约功能。
[root@git dy]# git reflog

7285d97 HEAD@{0}: reset: moving to 7285d97a63fe259a2fdcda7ef5bc91d5e400dc15
a901f68 HEAD@{1}: commit: 约功能上线.
7285d97 HEAD@{2}: commit: 直播功能上线
0838f2b HEAD@{3}: commit: adasdas
83d2495 HEAD@{4}: commit (initial): 短视频功能开发完毕

[root@git dy]#
[root@git dy]# git reset --hard a901f68
HEAD 现在位于 a901f68 约功能上线.
[root@git dy]# cat index.html

#1.完成抖⾳短视频功能
...
...
#2.完成直播功能
...
...
#3.约功能完成
...
...

阶段回顾与总结

在这里插入图片描述

git init          #初始化⼀个⽬录为git版本库
git add .          #将没有被管理的⽂件,加⼊git管理,添加到暂存区
git commit -m "描述"   #将暂存区的⽂件提交到版本库中,进⾏版本的管理
git log        #查看提交的历史记录
git reflog      #查看git提交的所有历史记录
git status      #查看当前的⽂件管理状态   ( 已提交 | 未提交 )
git reset --hard commitID  #回退到指定的提交版本记录

第四阶段:分支的作用详解

游戏功能&bug修复

分⽀:

在这里插入图片描述

[root@git dy]# git branch game
[root@git dy]# git branch
game
* master

[root@git dy]# git checkout game
切换到分⽀ 'game

[root@git dy]# cat index.html

#1.完成抖⾳短视频功能
...
...
#2.完成直播功能
...
...
#3.约功能完成
...
...

[root@git dy]# vim index.html
[root@git dy]# git add .
[root@git dy]# git commit -m "游戏完成20%-c3"
[game e2f86a8] 游戏完成20%-c3
1 file changed, 2 insertions(+)

[root@git dy]# vim index.html
[root@git dy]# git add .
[root@git dy]# git commit -m "游戏完成50%-c4"
[game 3b3f2fc] 游戏完成50%-c4
1 file changed, 1 insertion(+)

修复bug

[root@git dy]# git branch bug
[root@git dy]# git checkout bug
切换到分⽀ ‘bug’

[root@git dy]# vim index.html
[root@git dy]#git add .
[root@git dy]# git commit -m "约bug修复-c5"
[bug 0861ff4] 约bug修复-c5
1 file changed, 1 insertion(+), 1 deletion(-)

[root@git dy]# git checkout master
切换到分⽀ ‘master’

[root@git dy]# git merge bug    #站在master分⽀合并bug分⽀已提交的最新代码
更新 a901f68…0861ff4
Fast-forward
index.html | 2 ±
1 file changed, 1 insertion(+), 1 deletion(-)

[root@git dy]# git checkout game
切换到分⽀ ‘game’

[root@git dy]# vim index.html
[root@git dy]# git add .
[root@git dy]# git commit -m "游戏完成100%"
[game d0790cc] 游戏完成100%
1 file changed, 1 insertion(+)

[root@git dy]# git merge master
[root@git dy]# vim index.html
[root@git dy]# git add .
[root@git dy]# git commit -m "bug修复-游戏-c8"
[game a9d322f] bug修复-游戏-c8
[root@git dy]# git checkout master
[root@git dy]# git merge game
更新 0861ff4…a9d322f
Fast-forward
index.html | 4 ++++
1 file changed, 4 insertions(+)


第五阶段:协同工作

进军三⾥屯买⼀栋楼作为办公点(公司敲完回家还能继续敲):
在这里插入图片描述

首先,准备中⼼服务器
#gitee ( 开源的,注册即可使⽤ )
   ( Linux 模拟 家)
   ( MacOS | Windows-git-bash客户端 模拟三⾥屯 )

  1. 安装windows的git客户端

  2. 注册⼀个gitee的账户,并登陆
      2.1第⼀天上班前在家上传代码 (LInux)
    在这里插入图片描述
     在这里插入图片描述
     2.2给远程仓库起别名
       git remote add origin 远程仓库地址
     2.3 向远程推送代码
      git push -u origin 分⽀

  3. 初次在公司新电脑下载代码(MacOS | Windows)
    xudeMacBook-Pro:douyin xuliangwei$ git clone
    https://gitee.com/oldboy_oldxu/douyin.git
    xudeMacBook-Pro:douyin xuliangwei$ vim index.html #编辑index⽂件
    xudeMacBook-Pro:douyin xuliangwei$ git add .
    xudeMacBook-Pro:douyin xuliangwei$ git commit -m ""
    xudeMacBook-Pro:douyin xuliangwei$ git push origin master

  4. 下班回家继续写代码(Linux)
    [root@git dy]# git pull origin master

  5. 如何推送其他分⽀代码
    [root@git dy]# git checkout game
    [root@git dy]# vim index.html
    [root@git dy]#git add .
    [root@git dy]# git commit -m "game⼤改动"
    [root@git dy]# git push origin game

  6. 知识补充和总结
    [root@git dy]# git checkout game
    [root@git dy]# vim index.html
    [root@git dy]#git add .
    [root@git dy]# git commit -m "game⼤改动"
    [root@git dy]#git push origin game
    git pull origin master| dev | game #拉取代码,合并代码
    等价于

git fetch origin dev #拉取代码
git merge origin/dev #合并代码

在这里插入图片描述

添加远程连接(别名)
git remote add origin 地址
git remote -v
git remote remove origin #删除当前origin这个别名 (相当于本地版本库与中⼼版本库取消关联)
推送代码
git push origin 分⽀名称
下载代码
git pull origin 分⽀名称
相当于

git fetch origin 分⽀名称
git merge origin/分⽀名称

第六阶段:补充

1.tag标签 ( commitID—>的别名 )
[root@git dy]# git tag -a v1.1 -m "周年活动" #基于当前最新的commitid打标签
[root@git dy]#git tag
v1.1

[root@git dy]# git push origin v1.1
Username for ‘https://gitee.com’: xxxxx@qq.com
Password for ‘https://xxxx@qq.com@gitee.com’:

[root@git dy]# git tag -a v0.5 c67f593 -m "游戏完成百分之百,做⼀个标签记录"
[root@git dy]# git push origin v0.5

免密登陆

  1. URL中体现用户密码形式

原来的地址:https://gitee.com/oldxu/treenb.git
修改的地址:https://⽤户名:密码@gitee.com/oldxu/treenb.git

git remote add origin https://⽤户名:密码@github.com/oldxu/treenb.git
git push origin master

  1. ssh秘钥实现免密在这里插入图片描述
    在这里插入图片描述
    将我们的公钥添加到gitee上,就可以实现免密登陆。

[root@git dy]# git remote -v
origin https://gitee.com/oldboy_oldxu/douyin.git (fetch)
origin https://gitee.com/oldboy_oldxu/douyin.git (push)

[root@git dy]# git remote remove origin
[root@git dy]# git remote -v
[root@git dy]# git remote add origin
git@gitee.com:oldboy_oldxu/douyin.git

[root@git dy]# git remote -v
origin git@gitee.com:oldboy_oldxu/douyin.git (fetch)
origin git@gitee.com:oldboy_oldxu/douyin.git (push)

[root@git dy]# git push origin master #⽆需密码

第七阶段:git中的.gitignore⽂件

#忽略⼀些⽂件,
[root@git dy]# cat .gitignore

*.pyc


https://github.com/github/gitignore

第七阶段:将之前写的Shell、ansible放到⼀个git
仓库
1.创建gitee的仓库
2.选择性进⾏分⽀管理
ReadMe.md⽂件—>Master ( 简介,⼀打开这个项⽬就能看到的简介)
shell代码 —>Shell分⽀
Ansible代码 --> Ansible分⽀
nginx代码—>nginx分⽀

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值