欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

第一天:DevOps与CI/CD

程序员文章站 2022-04-30 08:38:56
...

DevOps的初识

DevOps定义

DevOps是Development和Operations的组合,也就是开发和运维的简写
DevOps集文化理念、实践与工具于一身,可以提高组织高速交付应用程序和服务的能力,与使用传统软件开发和基础设施管理流程相比,能够帮助企业更快速的发展和改进产品,这种速度使企业能够更好地服务于客户,并在市场上高效地参与竞争
DevOps是针对企业中的研发人员、运维人员和测试人员的工作理念,是他们在应用开发、代码部署和质量测试等整条生命周期中协作和沟通的最佳实践,DevOps强调整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成、持续部署和持续交付

DevOps平台

1、代码托管(gitlab/svn)
2、项目管理(jira/禅道/Teambition)
3、运维平台(腾讯蓝鲸/自主研发平台)
4、持续交付(Jenkins/gilab)
第一天:DevOps与CI/CD

DveOps的优势

1、速度:应用版本快速的迭代更新,以更好地适应不断变化的市场需求
2、快速交付:更快的将应用交付至生产环境
3、可靠性:保证应用交付的结果是成功的
4、规模:可以在大规模环境下且可靠的交付应用
5、增强合作:建立适应DevOps文化模式的团队,开发人员和运维人员协同工作
6、安全性:在快速迭代的同时保证应用的质量

为什么要使用DevOps

DevOps强调团队协作、相互协助、持续发展,然而传统的模式是开发人员只顾开发程序,运维只负责基础环境管理和代码部署及监控等,其并不是为了
一个共同的目标而共同实现最终的目地,而DevOps则实现团队作战,即无论是开发、运维还是测试,都为了最终的代码发布、持续部署和业务稳定而付出
各自的努力,从而实现产品设计、开发、测试和部署的良性循环,实现产品的最终持续交付

CI/CD简介

什么是持续集成

持续集成是指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码行合并到一起并且相互不影响工作
第一天:DevOps与CI/CD

什么是持续部署

是基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以及实现交付高质量的产品,持续部署到某种程度上代表了一个开发团队的更新迭代速率
第一天:DevOps与CI/CD

代码部署流程

1、测试环境:环境代码和 数据库是独立的
2、预发布环境:一般是连接的生产环境的数据库,用来检测 最新的代码 是否正常
3、生产环境
预发布就是 测试环境 和 生产环境的一个过渡,用来提前检测 最新代码 经测试环境后,上到正式环境是否异常,所以 一般 预发布环境测试时,测试组都会比较小心,尽量避免脏数据

CI/CD流程

第一天:DevOps与CI/CD

Git简介

Git:由linux之父林纳斯托瓦兹在2005年开发的一个分布式持续集成工具,设计之初就具备了以下优点:
1、可靠性:数据的上传和下载必须是安全的、一致的,所有行为都要进行验证,数据的变更通过不同的版本进行逻辑隔离
2、分布式:linus Torvalds认为之前的集中式版本控制系统性能太差,于是git的代码恢复不依赖于*服务器,而是每个开发电脑都是一个本地仓库,可用于代码提交与回滚
3、高效:Git基于分布式的功能实现代码的快速提交与秒级回滚
Gitlab:基于git的一个私有代码仓库

GitLab安装

安装环境要求

https://docs.gitlab.com/ce/install/requirements.html

国内下载地址

https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/

安装依赖环境

[aaa@qq.com ~]#  yum install -y curl  policycoreutils-python openssh-server

安装postfix

[aaa@qq.com ~]# sudo yum install -y postfix

开始安装

[aaa@qq.com ~]# rpm -ivh gitlab-ce-11.10.8-ce.0.el7.x86_64.rpm

安装成功

第一天:DevOps与CI/CD

配置GitLab站点Url

GitLab默认的配置文件路径是/etc/gitlab/gitlab.rb

默认的站点Url配置项是:

external_url 'http://gitlab.example.com'
[aaa@qq.com ~]# vim  /etc/gitlab/gitlab.rb
[aaa@qq.com ~]# grep "^[a-Z]" /etc/gitlab/gitlab.rb
external_url 'http://192.168.140.128'
#使用邮件功能
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "aaa@qq.com"
gitlab_rails['smtp_password'] = "VWXXRNFNZDIKJOER"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = :login
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "aaa@qq.com"
user["git_user_email"] = "aaa@qq.com"

重新启动

[aaa@qq.com ~]# gitlab-ctl reconfigure

完成后将会看到如下输出

Running handlers:
Running handlers complete
Chef Client finished, 14/643 resources updated in 01 minutes 06 seconds
gitlab Reconfigured!

访问

第一天:DevOps与CI/CD

修改密码

密码最少8位

登录

管理员密码:root
密码:12345678
第一天:DevOps与CI/CD

gitlab安装目录

/etc/gitlab #配置文件目录
/run/gitlab #运行pid目录
/opt/gitlab #安装目录
/var/opt/gitlab #数据目录
/var/log/gitlab #日志目录

GitLab基本功能使用

新建用户

第一天:DevOps与CI/CD
第一天:DevOps与CI/CD
第一天:DevOps与CI/CD

创建成功

第一天:DevOps与CI/CD

修改用户密码

第一天:DevOps与CI/CD
第一天:DevOps与CI/CD
最后点击保存就行

新建用户登录测试

第一天:DevOps与CI/CD

第一次登录需要修改密码

第一天:DevOps与CI/CD
第一天:DevOps与CI/CD

关闭注册页面

在超级管理员用户下关掉它
第一天:DevOps与CI/CD
最后点击保存
第一天:DevOps与CI/CD

新建权限组

第一天:DevOps与CI/CD
第一天:DevOps与CI/CD

组创建成功

第一天:DevOps与CI/CD

添加新用户到组里面

第一天:DevOps与CI/CD
新用户登录查看是否添加到组里面
第一天:DevOps与CI/CD

新用户创建项目

第一天:DevOps与CI/CD
第一天:DevOps与CI/CD
第一天:DevOps与CI/CD

相关标签: Linux学习笔记