P8-DevOps中的CI/CD环境搭建与调优
DevOps中的CI/CD環(huán)境搭建與調優(yōu)
DevOps,Docker,云計算等等
一、知識點回顧
上節(jié)課內容:
P8架構中項目中所需要的 Canal,主要用于 MySQL 主從架構增量或全量備份,將數(shù)據導入ES/Kafka中。
二、本節(jié)課主要內容
 Java項目,Spring項目,在開發(fā)過程中,開發(fā)團隊需要有不同的角色。maven編譯。
我們需要項目管理,軟件包括:
- 禪道(國內)
- JIRA(國外)
我們需要一個項目管理軟件。
 對于中小型公司,完全可以用gitlab,可以做代碼托管,還提供了 CI (持續(xù)集成)功能。
- CI:持續(xù)集成,開發(fā)人員Dev分支開發(fā)、Bug修復,提交代碼到Dev分支,經過組長審核通過之后,進行分之合并,最終集成到Master主分支上。
- CD:持續(xù)部署,Jenkins/teamCity
- CM:持續(xù)監(jiān)控,Zabbix/普羅米修斯等等
現(xiàn)在有一個崗位叫“交付工程師”,主要負責的就是CI CD
三、Gitlab 開源管理軟件
注意:阿里云在安裝的時候有坑,不注意的話很有可能被黑客攻擊,通過Redis默認密碼漏洞植入挖礦病毒
環(huán)境搭建
vSphere企業(yè)級的,VMWare是PC桌面級的
 
1、克隆一個gitlab,一個jenkins
2、gitlab安裝
兩種安裝方式:
 1、在線安裝,yum
 2、離線安裝,下載安裝包,主要針對沒有網絡的情況
主機規(guī)劃:
 云主機建議4核8g
 
 gitlab 架構
- 基于go語言的workhorse
 
在線安裝:
 國內的源速度比較快的:阿里源,如果阿里源沒有,可以使用清華源
 
 vim /etc/yum.repos.d/gitlab-ce.repo
添加清華源yum源,如果是集群內部為了速度,可以搭建本地的yum源
[gitlab-ce] name=GitLab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1yum makecache && yum install -y gitlab-ce安裝
面試題:你用過哪些版本控制工具?
- SVN Git Gitlab Github Gitee
- Gitlab有很多坑,比如Redis搭建這個服務的時候,有哪些要點?
- Redis默認密碼的問題,導致服務器不安全,有可能被黑
安裝完之后,修改配置文件進行配置
vim /etc/gitlab/gitlab.rb url 換成自己的ip地址
 
gitlab-ctl reconfigure 編譯
gitlab-ctl restart啟動,內存至少4G
注意:云主機的配置內存不要太小,推薦4核8G,否則容易出現(xiàn)問題
瀏覽器輸入ip進入j就可以了,如果出現(xiàn)502,等一會兒就好了
Jenkins 安裝
 需要Java環(huán)境
- 離線安裝
- 在線安裝(我們用這種方式)
 從清華源安裝
 yum install -y https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.244-1.1.noarch.rpm
修改配置文件
 vim /etc/sysconfig/jenkins
用戶改成root
 
端口保活,避免沖突
 
解決國內安裝插件慢的問題,會卡在安裝界面上,阿里云被國外卡的挺慘的
 重要:國內插件加速
 cd /var/lib/jenkins/updates
 default.json
 配置文件中,使用google的搜索以及國外的服務器,我們需要進行替換
 搜索替換成百度
 插件中心使用清華源的插件鏡像
啟動jenkins
 systemctl restart jenkins
如果jenkins啟動不起來,報錯找不到 /usr/bin/java 的話,添加軟鏈接:
 ln -s /usr/java/jdk1.8.0_251/bin/java /usr/bin/java
啟動起來之后,訪問頁面如果如果報下面這個錯:
 java.lang.UnsatisfiedLinkError: /usr/java/jdk1.8.0_251/jre/lib/i386/libfontmanager.so: libgcc_s.so.1: cannot open shared object file: No such file or directory
 
 問題原因是,一般os安裝的是64位的,所以缺省是裝libgcc這個包。但java一般還是會用32位的包,因此就會存在上面的問題(系統(tǒng)提供的libgcc_s.so.1是64位的,不是java啟動需要的32位的),安裝一個32位的就好了。
 yum install libgcc.i686 --setopt=protected_multilib=false
再次重啟,如果卡在getting ready to work界面不動的話,修改一下這個json文件:
 vim /var/lib/jenkins/hudson.model.UpdateCenter.xml
然后在重啟jenkins,等大概一分鐘就可以進來了,根據他的提示把密碼復制過來就好了
 cat /var/lib/jenkins/secrets/initialAdminPassword
 
 登錄進去之后,等著它下載插件就好了
 
 插件下載太慢的話:
 修改 /var/lib/jenkins/updates/default.json 默認使用google的搜索 以及國外的服務器,替換成百度
總結
以上是生活随笔為你收集整理的P8-DevOps中的CI/CD环境搭建与调优的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: ZooKeeper实战(三):ZooKe
- 下一篇: P8实战(一):架构概论,从过去到未来
