DevOps 之基于gitlab+Jenkins 实现的 CI 与 CD
DevOps 之基于gitlab+Jenkins 实现的 CI 与 CD
一、DevOps
1.1简介
DevOps 是 Development 和 Operations 的组合,也就是开发和运维的简写。
DevOps 是针对企业中的研发人员、运维人员和测试人员的工作理念,是他们在应用
开发、代码部署和质量测试等整条生命周期中协作和沟通的最佳实践,DevOps 强调
整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成、持续部署和
持续交付
DevOps 四大平台:代码托管(gitlab/svn)、项目管理(jira)、运维平台(腾讯蓝鲸/开源平
台)、持续交付(Jenkins/gitlab)
1.2持续集成(CI)
持续集成(CI-Continuous integration)是指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码行合并
到一起并切相互不影响工作
1.3持续部署(CD)
持续部署(CD-continuous deployment)是基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率。
1.4持续交付
持续交付是在(Continuous Delivery)持续部署的基础之上,将产品交付到线上环境,因此持续交付是产品价值的一种交付,是产品价值的一种盈利的实现。
1.5常见持续集成开源工具
在公司的服务器安装某种程序,该程序用于按照特定格式和方式记录和保存公司多名开发人员不定期提交的源码,且后期可以按照某种标记及方式对用户提交的数据进行还原
1.5.1:CVS
CVS(Concurrent Version System)早期的集中式版本控制系统,现已基本淘汰会出现数据提交后不完整的情况
1.5.2:SVN
SVN-集中式版本控制系统2000 年开始开发,目标就是替代 CVS 集中式管理,依赖于网络,一台服务器集中管
理目前依然有部分公司在使用
1.5.3:Gitlib
分布式版本控制系统:gitlib 是用于实现git功能的开发库,且具有wiki和issue跟踪功能,由乌克兰程序员 Dmitriy Zaporozhets 和 Valery Sizov 开发,它由 Ruby 写成。后来,一些部分用 Go 语言重写。截止 2018 年 5 月,该公司约有 290 名团队成员[5],以及 2000 多名开源贡献者
二、gitlib部署和使用
Gitlab 安装文档:https://about.gitlab.com/install/
安装包下载地址:https://packages.gitlab.com/gitlab/gitlab-ce
国内安装包下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/trusty/main/g/gitlab-ce/
2.1安装
1、下载源码包
$ wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/bionic/gitlab-ce_11.11.5-ce.0_amd64.deb
2、安装
$ dpkg -i gitlab-ce_11.11.5-ce.0_amd64.deb
3、修改配置文件
vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.7.101'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "1349019125@qq.com"
gitlab_rails['smtp_password'] = "kynizfvgtalwgijh"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "1349019125@qq.com"
user["git_user_email"] = "1349019125@qq.com"
4、执行检查配置并启动服务
$ gitlab-ctl reconfigure
5、检验gitlab启动完成
$ gitlab-ctl status
6、验证端口是否开启和状态
80 端口是在初始化 gitlib 的时候启动的
lsof -i:80
7、登录gitlab web页面
登录模板:http://IP/
登录 web 页面并设置密码,最少 8 位:
8、默认首页
登录,默认用户为 root:
主页面
2.2使用和管理
2.2.1:关闭账号注册
可以自行验证被禁止注册
2.2.2:创建账户
用户注册成功后会有注册邮箱信息提醒,根据收到邮箱信息,修改密码
修改好密码登录邮箱收到确认信息即为创建账户成功