GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务
公众号 : 倔强小狮子
文章目录
1. CI/CD
1.1 CI 和 CD 是什么
CI / CD的采用改变了开发人员和测试人员如何发布软件。
- 最初是瀑布模型,后来是敏捷开发,现在是DevOps,这是现代开发人员构建出色的产品的技术路线。随着DevOps的兴起,出现了持续集成(Continuous Integration)、持续交付(Continuous Delivery) 、持续部署(Continuous Deployment) 的新方法
- 持续集成的重点是将各个开发人员的工作结果推送到一个代码仓库中。通常,每天都要进行几次,主要目的是尽早发现集成错误,使团队更加紧密结合,更好地协作。
- 持续交付的目的是最小化部署或释放过程中固有的
摩擦(错误)
。它的实现通常能够将构建部署的每个步骤自动化
,以便任何时刻能够安全地完成代码发布 - 持续部署是一种更高程度的自动化,无论何时对代码进行重大更改,都会
自动进行构建/部署
2. CI (持续集成)
- 开发人员将会频繁地向主干提交代码,这些新提交的代码在最终合并到主干前,需要经过编译和自动化测试流进行验证;
- 持续集成 CI 是在源代码变更后自动检测、拉取、构建和进行单元测试的过程,持续集成的目标是快速确保开发人员新提交的代码不会出现
问题
的,并且可以测试及打包通过
;CI 的流程执行和理论实践让我们可以确定新代码和原有代码能否正确地集成在一起。
3. CD
CD 对应 : 持续交付 Continuous Delivery 和持续部署 Continuous Deployment
3.1 持续交付
1 . 完成 CI 中构建及单元测试和集成测试的自动化流程后,持续交付可自动将已验证的代码发布到存储库,持续交付的目标是拥有一个可随时部署到生产环境的代码库。
3. 在持续交付中,每个阶段(从代码更改的合并,到生产就绪型构建版本的交付)都涉及测试自动化和代码发布自动化
;在流程结束时,运维团队可以快速、轻松地将应用部署到生产环境中或发布给最终使用的用户
3.2 持续部署
- 对于一个完整的 CI/CD 管道来说,最后的阶段是持续部署;作为持续交付自动将生产就绪型构建版本发布到代码存储库,持续部署可以自动将持续交付的结果自动发布到生产环境中使用
- 持续交付的结果代表所有的变更结果已经可以投入生产环境中使用了,持续部署意味可以自动话部署到生产环境中
- 持续交付不是本次所有的变更都部署到生产中
4. gitlab 安装 (centos7)
4.1 下载 gitlab
-
查看当前服务器版本 uname -a
注意 : wget未进行安装需 yum install -y wget
-
使用清华园镜像站下载 gitlab rpm 包, 必须安装版本一致,否则 rpm -ivh 错误
-
下载 gitlab rpm 安装包完成后, 执行安装
rpm -ihv gitlab-ce-12.0.0-ce.0.el7.x86_64.rpm
-
如果出现 以下错误,首先排查 下载的 rpm包及centos版本是否一致(必须一致), 如果一致则执行
yum install policycoreutils-python
-
安装成功
5. 配置gitlab
-
为了方便 修改配置文件, 建议安装 vim (可选项)
修改 /etc/gitlab/gitlab.rb 文件
'external_url 'http:ip:port'
例 : 'external_url 'http://127.0.0.1:10801
如果是域名或者外网地址对应修改即可
-
编译 (时间久一些)
gitlab-ctl reconfigure
-
启动
gitlab-ctl start
-
关闭防火墙(在公司局域网内可以关闭)
6. 访问 502
在 /etc/gitlab/gitlab.rb 配置文件内增加
`unicorn['port'] = 10802` (external_url port+1)
- 重新编译及启动
gitlab-ctl reconfigure
gitlab-ctl start
7. 完美
- 默认登录账号 root
- 该页面初始化 root 密码
8. 安装过程遇见的那些坑
- 在CentOS里面安装软件,提示软件已安装,但是rpm -q和-e都是提示包没有安装
- 查看与rpm包相关的文件和其他信息 rpm -qa | grep 包名
- 查询包是否被安装,命令:rpm -q 包名
- 删除软件包,命令:rpm -e 包名
运行以上四步,把原来的包删除掉重新下载和安装
期待你的关注,和我一起学习
转载说明:转载携带原文链接