背景
隨著大數(shù)據(jù)和互聯(lián)網(wǎng)的發(fā)展,傳統(tǒng)的代碼提交集成,測(cè)試,打包,發(fā)布通過傳統(tǒng)的人工或者腳本來做,顯得非常麻煩顯然不滿足持續(xù)部署,交付提升效率,此時(shí)devops應(yīng)運(yùn)而生,通過CICD可以大大方便操作,持續(xù)集成發(fā)布與交付,提升了效率和穩(wěn)定可靠性。
開發(fā)部署流程
- 研發(fā)push本地代碼到gitlab-server后,webhook自動(dòng)觸發(fā)jenkins構(gòu)建應(yīng)用
- 在docker宿主機(jī)上安裝git 拉取gitlab上的代碼啟動(dòng)應(yīng)用
- 數(shù)據(jù)庫(kù)連接公用云數(shù)據(jù)庫(kù)
- 構(gòu)建完成之后郵件通知相關(guān)人
具體步驟
- 前置需求
- 操作系統(tǒng)centos7.4
- 安裝jekins
1. 查看是否安裝jdk 1.8 java -version來查看
2. 使用yum 在docker宿主機(jī)上安裝jekins
2.1 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
2.2 rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
2.3 yum clean all && yum makecache
2.4 yum -y install jenkins
2.5 啟動(dòng)服務(wù) systemctl start jenkins
2.6 jenkins啟動(dòng)占用的8080端口 需要放開8080對(duì)外訪問
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
2.7 瀏覽器訪問 http://{宿主機(jī)ip}:8080打開jenkins頁面此時(shí)需要輸入密碼在宿主機(jī)查看 /var/lib/jenkins/secrets/initialAdminPassword 查看默認(rèn)的登錄密碼 登錄
note:修改默認(rèn)的登錄密碼編輯 /var/lib/jenkins/users/admin_7460721745982395512/config.xml
里面的passwd行 之后重啟jenkins即可
3.配置docker宿主機(jī)目標(biāo)服務(wù)器
3.1 Jenkins上安裝插件Publish over SSH
3.2 點(diǎn)開系統(tǒng)設(shè)置,配置
Publish over SSH
Passphrase:docker宿主機(jī)的密碼
key: 私鑰 免密時(shí)候進(jìn)行配置的 這個(gè)和Passphrase二選其一
3.3 ssh server配置
Name: 輸入服務(wù)器ip
Hostname: 服務(wù)器ip
Username: 用戶名 (root)
Remote Directory 遠(yuǎn)程映射路徑這里寫需要部署的路徑
- 配置郵件通知
- 下載插件 Extended E-mail Notification 這個(gè)插件擴(kuò)展了自帶的郵件發(fā)送功能可以指定郵件模板和更多的功能
- 系統(tǒng)配置 默認(rèn)的郵件 E-mail Notification
SMTP server: 郵箱的server地址【如網(wǎng)易 smtp.163.com】
Default user e-mail suffix 郵箱后綴 @163.com
開啟SMTP認(rèn)證
用戶名:LCY_ease@163.com
密碼: 郵箱授權(quán)碼
Test e-mail recipient 可以放個(gè)郵箱地址去測(cè)試發(fā)送郵件
3.png - 配置增強(qiáng)版郵件通知 里面有很多這里不再贅述
5.安裝docker
- yum -y install docker
- systemctl start docker && systemctl enable docker 設(shè)置開機(jī)啟動(dòng)
6.安裝gitlab
1.yum install -y libsemanage-static libsemanage-devel policycoreutils openssh-server openssh-clients postfix
- wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
- rpm -i gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
- 修改配置文件 /etc/gitlab/gitlab.rb extend_url填寫本服務(wù)器的url+port
- gitlab-ctl reconfigure gitlab-ctl restart
