天天看點

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****[email protected]"
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****[email protected]"
[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****[email protected]"
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****[email protected]"      

執行配置并啟動服務

[root@gitlab ~]# gitlab-ctl reconfigure      

在浏覽器測試通路,預設使用者為root

http://gitlab.magedu.com/      

gitlab 相關的目錄:

/etc/gitlab   #配置檔案目錄
/run/gitlab   #運作 pid 目錄
/opt/gitlab   #安裝目錄
/var/opt/gitlab   #資料目錄
/var/log/gitlab   #日志目錄      

越學越感到自己的無知