GitLab+Jenkins结合构建持续集成(CI)环境
Posted mercury-linux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GitLab+Jenkins结合构建持续集成(CI)环境相关的知识,希望对你有一定的参考价值。
-
-
持续交付:持续交付指的是在持续集成的环境基础之上,将代码部署到预生产环境。
-
持续部署:
是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。
版本控制系统不仅可以应用于软件源代码的文本文件,而且可以对任何类型的文件进行版本控制。
版本控制解决了那些问题:
-
开发人员可以建立自己的分支,并在自己的分支上进行操作,减少了冲突
-
git可以在没有网络的情况下使用
从远程库clone一个到本地库,没有网络的情况下,可以将修改提交到本地库,等有网的时候在传上去。
-
git和SVN的版本控制
是通过.git和.svn文件,.git只是在本地的版本库的目录下存在,而.svn存在于每一个文件夹,当我们不需要版本控制的时候,要删除.svn很费时。
-
版本号问题
官网地址:https://git-scm.com/
菜鸟教程:https://www.runoob.com/git/git-workflow.html
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
我们先来理解Git工作区、暂存区和版本库概念
-
工作区:就是你在电脑里能看到的目录。
-
暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
-
版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
#git安装 yum install git -y git --version #配置个人的用户名称和电子邮件地址: git config --global user.name "魏" git config --global user.email "1354586675@qq.com" git config --global color.ui "true"
如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。
git config --list user.name=吉祥 user.email=1354586675@qq.com color.ui=true #或 cat /root/.gitconfig [user] name = 吉祥 email = 1354586675@qq.com [color] ui = true
#使用当前目录作为Git仓库,该命令执行完后会在当前目录生成一个 .git 目录。, mkdir /opt/class cd /opt/class git init #或者指定目录作为git仓库 git init /opt/class/ Initialized empty Git repository in /opt/class/.git/
#添加文件到缓存区 git add . git commit -m ‘add three file‘
- 实验
#创建5个文件并写写入各自的文件数字 for n in 1 2 3 4 5;do echo $n >$n.txt ;done #查看文件状态,未提交缓存区 git status #提交完查看文件状态 git add . git status #提交到git仓库 git comiit -m ‘add three file‘
#目录和缓存区之间的变化 git mv 5.txt 6.txt git status git commit -m ‘change file name‘ git status
#缓存区与git仓库之间的变化 vim 6.txt 5 6 git diff 6.txt #本地目录和缓冲区文件对比 git diff --cached 6.txt #缓冲区文件和仓库文件对比 git add . git diff --cached 6.txt git diff 6.txt git commit -m ‘add ontline 6.txt‘ git status
#查看当前的历史版本 git log --oneline git reset --hard 942bdf3 #查看所有的历史版本 git reflog --oneline git reset --hard 942bdf3
撤销修改的文件
#提交到缓冲的区文件撤回 git reset HEAD file3(文件名) git checkout -- file3(文件名) #未add到缓冲区的文件撤回 git checkout -- file3(文件名)
#增加一个新分支 git branch dev01 #切换分支 git checkout dev01 #在开发分支上合并主分支 git merge master -m ‘注释‘ #切回主分支 git checkout master #在主分支合并开发 git merge dev01 -m ‘注释‘
#给当前版本打标签 git tag v1.2 #删除标签 git tag -d v1.2 #给任意版本打标签 git tag -a v1.0 -m ‘优化了1111 修复bug‘ a119962
- 创建私有仓库
- 创建完成:
git init git add . git commit -m "first commit" git remote add origin https://gitee.com/weijixiang_god/class.git git push -u origin master #上传到master分支 Username for ‘https://gitee.com‘: weijixiang_god #代码仓库名称 Password for ‘https://weijixiang_god@gitee.com‘: #登录密码
- 上传结果:
ssh-keygen #一路回车 cat /root/.ssh/id_rsa.pub #秘钥内容忽略,添加到码云
- 免密钥推送
#创建一个新文件并上传到git仓库 echo "7" > 7.txt && git add . && git commit -m "create 7.txt" git remote remove origin #删除之前上传方式问https的用户信息 git remote add origin git@gitee.com:weijixiang_god/class.git #添加git方式仓库信息 git push -u origin master
git tag 1.0 #给当前仓库打标签 git push origin master --tags #推送标签
以上是关于GitLab+Jenkins结合构建持续集成(CI)环境的主要内容,如果未能解决你的问题,请参考以下文章
Linux云计算 --中国三大电商大厂都在使用的《 GitLab与Jenkins结合构建持续集成(CI)环境》是如何排列
CI/CD持续集成与持续交付(上)-------- git,gitee远程共有仓库和gitlab私有仓库,jenkins
CI/CD持续集成与持续交付(上)-------- git,gitee远程共有仓库和gitlab私有仓库,jenkins