DevOps简介
DevOps 简介
DevOps 是 Development 和 Operations 的组合,也就是开发和运维的简写。
DevOps 是针对企业中的研发人员、运维人员和测试人员的工作理念,是他们在应用开发、代码部署和质量测试等整条生命周期中协作和沟通的最佳实践,DevOps 强调整个组织的合作以及交付和基础设施变更的自动化、从而实现持续集成、持续部署和持续交付。
DevOps 四大平台:代码托管(gitlab/svn)、项目管理(jira)、运维平台(腾讯蓝鲸/开源平台)、持续交付(Jenkins/gitlab)
什么是持续集成( (I CI- - Continuous integration) :
持续集成是指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码行合并到一起并切相互不影响工作。
什么是持续部署( ( CD- - continuous deployment) :
是基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率。
什么是持续交付( ( Continuous Delivery) :
持续交付是在持续部署的基础之上,将产品交付到线上环境,因此持续交付是产品价值的一种交付,是产品价值的一种盈利的实现。
Gitlab 部署 与 使用
Gitlab 服务的安装文档:https://about.gitlab.com/install/
安装环境要求:https://docs.gitlab.com/ce/install/requirements.html
安装要求
4 核是推荐的最少核数,最多支持 500 个用户
4GB RAM是所需的最小内存大小,最多支持 500 个用户
下载:清华大学开源软件镜像站
Centos 系统环境在准备:
# yum install vim gcc gcc-c++ wget net-tools lrzsz iotop lsof iotop bash-completion -y # yum install curl policycoreutils policycoreutils-python openssh-server openssh-clients postfix -y
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# systemctl disable firewalld
# sed -i '/SELINUX/s/enforcing/disabled/' /etc/sysconfig/selinux
# hostnamectl set-hostname gitlab.example.com
# reboot
安装
[root@gitlab ~]# rpm -ivh gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm warning: gitlab-ce-11.11.8-ce.0.el7.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID f27eab47: NOKEY Preparing... ################################# [100%] Updating / installing... 1:gitlab-ce-11.11.8-ce.0.el7 ################################# [100%]
...
Thank you for installing GitLab! GitLab was unable to detect a valid hostname for your instance. Please configure a URL for your GitLab instance by setting `external_url` configuration in /etc/gitlab/gitlab.rb file. Then, you can start your GitLab instance by running the following command: sudo gitlab-ctl reconfigure For a comprehensive list of configuration options please see the Omnibus GitLab readme https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
根据提示修改配置
[root@gitlab ~]# grep -v ^# /etc/gitlab/gitlab.rb | grep -v ^$ external_url 'http://gitlab.magedu.com' //访问地址,也可以配置ip
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.163.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "151****7921@163.com" gitlab_rails['smtp_password'] = "HADxxxTCYY" //邮箱授权码 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'] = "151****7921@163.com" [root@gitlab ~]# grep "^[a-Z]" /etc/gitlab/gitlab.rb external_url 'http://gitlab.magedu.com'
gitlab_rails['smtp_enable'] = true gitlab_rails['smtp_address'] = "smtp.163.com" gitlab_rails['smtp_port'] = 465 gitlab_rails['smtp_user_name'] = "151****7921@163.com" gitlab_rails['smtp_password'] = "HADxxxYY" 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'] = "151****7921@163.com"
执行配置并启动服务
[root@gitlab ~]# gitlab-ctl reconfigure
在浏览器测试访问,默认用户为root
http://gitlab.magedu.com/
gitlab 相关的目录:
/etc/gitlab #配置文件目录 /run/gitlab #运行 pid 目录 /opt/gitlab #安装目录 /var/opt/gitlab #数据目录 /var/log/gitlab #日志目录
越学越感到自己的无知