目录
一、DevOps简介
二、CI/CD简介
1、代码部署的最基本流程
2、软件开发生命周期
3、持续集成整体流程
三、Git简介
1、GitHub与Gitlab区别
四、基于Jenkins与Gitlab构建持续集成环境系统
1、环境说明
2、安装gitlab
1)配置邮件报警
Devops是Development(开发)和Operations(运维)的简写。
Devops是集文化理念、实践与工具与一身的,并不是单单的工具,devops是针对企业中的开发人员、运维人员和测试人员的一种工作理念,在应用开发、代码部署和质量测试等整条生命周期中,一起协作与沟通的最佳实践,devops强调整个组织的合作性以及基础设施变更的自动化、从而实现持续集成、持续交付和持续部署。
持续集成:Continuous Integration
持续交付:Continuous Delivery
持续部署:Continuous Deoloyment
测试环境-->预发布环境-->生产环境
一个分布式持续集成工具,设计之初就具备以下优点:
系统版本:centos7
虚拟机主机名和IP地址:
gitlab 192.168.10.128/24
使用的是清华大学镜像源,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
[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里修改,
#找到external_url这一行,后面修改为自己的IP地址,我的就是external_url 'http://192.168.10.128'
[root@gitlab ~]# vim /etc/gitlab/gitlab.rb
#添加以下内容,可以直接搜索,到命令行模式 输入/查找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"
[root@gitlab ~]# gitlab-ctl reconfigure
[root@gitlab ~]# gitlab-ctl status
[root@gitlab ~]# gitlab-rails console
-------------------------------------------------------------------------------------GitLab: 11.11.8 (1d18d065069)GitLab Shell: 9.1.0PostgreSQL: 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
查看
关闭防火墙
[root@gitlab ~]# systemctl stop firewalld
[root@gitlab ~]# systemctl disable firewalld
如果你出现了以下错误页面,请关闭该页面,重新访问即可