目录
一、DevOps简介
二、CI/CD简介
1、代码部署的最基本流程
2、软件开发生命周期
3、持续集成整体流程
三、Git简介
1、GitHub与Gitlab区别
四、基于Jenkins与Gitlab构建持续集成环境系统
1、环境说明
2、安装gitlab
1)配置邮件报警
一、DevOps简介
Devops是Development(开发)和Operations(运维)的简写。
Devops是集文化理念、实践与工具与一身的,并不是单单的工具,devops是针对企业中的开发人员、运维人员和测试人员的一种工作理念,在应用开发、代码部署和质量测试等整条生命周期中,一起协作与沟通的最佳实践,devops强调整个组织的合作性以及基础设施变更的自动化、从而实现持续集成、持续交付和持续部署。
二、CI/CD简介
持续集成:Continuous Integration
- 持续集成是指频繁的将代码集成到主干,也就是多名开发者在开发不同功能代码的过程当中,可以频繁的将代码合并到一起并且相互不影响工作。
持续交付:Continuous Delivery
- 持续交付是指频繁地将软件的新版本,交付给质量团队或者用户,以供评审。可以看作持续集成的下一步,如果评审通过,代码就进入生产阶段。
持续部署:Continuous Deoloyment
- 持续部署是指基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以实现高质量产品的交付,持续部署在某种程度上代表了一个开发团队的更新迭代速率,可以看作持续交付的下一步。
1、代码部署的最基本流程
测试环境-->预发布环境-->生产环境
2、软件开发生命周期
3、持续集成整体流程
三、Git简介
一个分布式持续集成工具,设计之初就具备以下优点:
- 可靠性:数据的上传和下载必须是安全的、一致的,所有行为都要进行验证,数据的变更通过不同的版本进行逻辑隔离;
- 分布式:不依赖中央服务器,而是每个开发电脑都是一个本地仓库,可用于代码提交与回滚;
- 高效:git基于分布式的功能实现代码的快速提交与回滚。
1、GitHub与Gitlab区别
- GitHub:基于Git的一个公有代码仓库
- Gitlab:基于Git的一个私有代码仓库
四、基于Jenkins与Gitlab构建持续集成环境系统
1、环境说明
系统版本:centos7
虚拟机主机名和IP地址:
gitlab 192.168.10.128/24
2、安装gitlab
使用的是清华大学镜像源,Gitlab使用的版本是gitlab-ce-11.11.8,下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm
- 安装gitlab
[root@gitlab ~]# yum install https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm
安装成功后,会显示下面信息
显示的内容说:你需要配置url给你的gitlab实例,在/etc/gitlab/gitlab.rb文件,external_url就是暴露访问gitlab的ip地址,这里也可以用域名,需要做个本地解析,在/etc/host里修改,
- 配置/etc/gitlab/gitlab.rb文件
#找到external_url这一行,后面修改为自己的IP地址,我的就是external_url 'http://192.168.10.128'
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
1)配置邮件报警
- 修改配置文件
#添加以下内容,可以直接搜索,到命令行模式 输入/查找smtp等,去掉前面的#,修改内容即可
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
#开启smtp
gitlab_rails['smtp_enable'] = true
#smtp服务器地址,如果是163邮箱,则是smtp.163.com
gitlab_rails['smtp_address'] = "smtp.qq.com"
#smtp服务器的端口号,默认为25,ssl协议加密后是465
gitlab_rails['smtp_port'] = 465
#邮箱账号
gitlab_rails['smtp_user_name'] = "142968****@qq.com"
#邮箱密码,如果是客服的邮箱,不支持密码认证的,一般对给个授权码,通过调用客服邮箱发送邮件
#qq邮箱配置授权码步骤:1、登录网页版QQ邮箱;2、设置->账户;3、开启POP3/SMTP服务(发送短信验证开启)
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
#是否开启ssl协议加密
gitlab_rails['smtp_tls'] = true
#发件人,跟自己的账号一样
gitlab_rails['gitlab_email_from'] = '142968****@qq.com'
user['git_user_name'] = "142968****@qq.com"
- 重置gitlab
[root@gitlab ~]# gitlab-ctl reconfigure
- 查看状态
[root@gitlab ~]# gitlab-ctl status
- 登录控制台发送测试邮件
[root@gitlab ~]# gitlab-rails console
-------------------------------------------------------------------------------------
GitLab: 11.11.8 (1d18d065069)
GitLab Shell: 9.1.0
PostgreSQL: 9.6.11
-------------------------------------------------------------------------------------
Loading production environment (Rails 5.1.7)
irb(main):001:0> Notify.test_email('liuyangyi1124@163.com',
'Test_001','Hello World').deliver_now
查看
2)登录Gitlab
-
关闭防火墙
[root@gitlab ~]# systemctl stop firewalld
[root@gitlab ~]# systemctl disable firewalld
- 浏览器访问
如果你出现了以下错误页面,请关闭该页面,重新访问即可