1. 介绍
什么是持续集成?
经常频繁的代码合并, 持续集成跟运维有关的工作,提供一个代码仓库,版本控制系统(备份,迁移)
什么是持续交付?
开发团队---测试团队---运维上线
开发团对,单元测试,---测试-- 代码质量检测--- 测试, sonarqube
什么是持续部署?
频繁的代码上线,持续部署
2. 持续集成
什么是版本控制系统
每一次提交或修改都看作是一个版本
版本控制系统解决了什么问题?
快速回滚到指定的版本,只保留变化的内容
常见版本控制系统svn与git区别?
svn: 中心化的代码仓库
git: 分布式的代码仓库
安装和配置git
#git的安装
yum install git -y
git --version
git config --global user.name "xxxx"
git config --global user.email "xxxx@qq.com"
git config --global color.ui "true"
创建版本库
mkdir test
cd test
git init
git仓库添加文件
git add . #添加文件到缓冲区
git commit -m 'add three file'
git修改文件名称并提交
git mv file1 file4
git commit -m 'change file name'
git的文件对比
git diff file3 #本地目录和缓冲区文件对比
git diff --cached file3 #缓冲区文件和仓库文件对比
实现回退功能
查看当前的历史版本
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分支管理
#增加一个新分支
git branch dev01
#切换分支
git checkout dev01
#在开发分支上合并主分支
git merge master -m '注释'
#切回主分支
git checkout master
#在主分支合并开发
git merge dev01 -m '注释'
git标签管理
#查看当前标签
git tag
#给当前版本打标签
git tag v1.2
#删除标签
git tag -d v1.2
#给任意版本打标签
git tag -a v1.0 -m '优化了1111 修复bug' a119962
git远程仓库gitee
#从远程仓库克隆到本地
git clone git@gitee.com:yu_hong_lei/linux63.git
#讲本地推到远程
git push origin master
#远程更新到本地
git pull origin master
gitlab仓库搭建
`安装`
#上传gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm到当前目录
yum localinstall gitlab-ce-11.9.11-ce.0.el7.x86_64.rpm -y
vim /etc/gitlab/gitlab.rb
#设置访问url和关闭prometheus
external_url 'http://10.0.0.100'
prometheus_monitoring['enable'] = false
#配置gitlab通过smtp发送邮件
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'xxxxxx@qq.com'
gitlab_rails['gitlab_email_display_name'] = 'gitlab'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxxxx@qq.com"
gitlab_rails['smtp_password'] = "xxxxxx"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
#初始化
gitlab-ctl reconfigure
`gitlab汉化`
#下载汉化包https://gitlab.com/xhang/gitlab
tar xf gitlab-11-9-stable-zh.tar.gz
gitlab-ctl stop
\cp -a gitlab-11-9-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/
gitlab-ctl start
`gitlab备份和恢复`
#备份
gitlab-rake gitlab:backup:create
#恢复
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-rake gitlab:backup:restore BACKUP=1510472027_2017_11_12_9.4.5
gitlab-ctl start unicorn
gitlab-ctl start sidekiq
#备份路径
vim /etc/gitlab/gitlab.rb
gitlab_rails['manage_backup_path'] = true
gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800
#迁移云主机
先备份,云主机安装相同版本,恢复
`gitlab版本升级`
gitlab升级, 10-->11-->12
gitlab升级不能跨大版本
上传需要升级的rpm包
yum localinstall -y gitlab-ce-12.3.6-ce.0.el7.x86_64.rpm
来源:CSDN
作者:一九九八blog
链接:https://blog.csdn.net/weixin_45367149/article/details/103821984