1 持續的軟件版本發佈/測試項目java
2 監控外部調用工具git
3 jenkins就是基於Java開發的一種持續集成的工具github
4 能夠將運維用到的各個腳本整合起來,而且能夠經過頁面方式集中管理,並且能夠也能夠實現和gitlab、github交互,也能夠實現自動編譯、部署程序web
持續集成是一種軟件開發實踐,即團隊開發成員常常集成他們的工做,經過每一個成員天天至少集成一次,也就意味着天天可能會發生屢次集成。每次集成都經過自動化的構建(包括編譯,發佈,自動化測試)來驗證,從而儘早地發現集成錯誤。shell
持續集成:Continuous Intergration (CI)瀏覽器
持續交付:Continuous Delivery(CD)bash
持續部署:Continuous Deployment(CD)服務器
集成是指軟件我的研發的部分向軟件總體部分交付,以便儘早發現我的開發部分的問題;網絡
部署是代碼儘快向可運行的開發/測試節交付,以便儘早測試;運維
交付是指研發儘快向客戶交付,以便儘早發現生產環境中存在的問題。
若是說等到全部東西都完成了才向下個環節交付,致使全部的問題只能再最後才爆發出來,解決成本巨大甚至沒法解決。
而所謂的持續,就是說每完成一個完整的部分,就向下個環節交付,發現問題能夠立刻調整。是的問題不會放大到其餘部分和後面的環節。
1. 提交(git)
2. 測試
3. 構建(jenkins)
4. 測試
5. 部署(ansible,shell,puppet)
6. 回滾(ansible)
第一步
打開版本網站,下載包
pkg.jenkins.io/rehat/
第二步
開啓兩臺虛擬機,一臺部署gitlab,一臺部署jenkins
第三步
上傳jenkis安裝包至另外一臺虛擬機
第四步
安裝
rpm –ivh 包名
第五步
安裝 java 環境(不能用網絡源下載,java版本高於Jenkis,二者不兼容)
第六步
啓動
systectl restart Jenkins
第七步
瀏覽器訪問安裝jenkins端ip:8080
第八步
首先會提示你Jenkins是鎖定狀態,會提示你密碼存在服務器上的目錄,然後去服務器這個目錄裏,把密碼粘貼過來便可。
第九步
安裝插件
選擇 select plugins to install,然後選擇none
1 上傳插件
2 移動插件包至Jenkins插件目錄下
cd /var/lib/Jenkins
然後解壓便可,在把解壓後的都放出來至當前目錄
3 重啓Jenkins使插件生效
4 瀏覽器查看便可
有許多第三方網站和應用程序能夠與 Jenkins 進行交互,例如程序代碼倉庫,雲存儲系統和服務等。
此類應用程序的系統管理員能夠在應用程序中配置憑證以專供 Jenkins 使用。一般經過將訪問控制應用於這些憑證來完成這項工做,以「鎖定」Jenkins可用的應用程序功能區域。一旦 Jenkins 管理員(即管理 Jenkins 站點的 Jenkins 用戶)在 Jenkins 中添加/配置這些憑證,Pipeline 項目就可使用憑證與這些第三方應用程序進行交互。
Jenkins 中保存的憑證能夠用於:
1 任何適用於 Jenkins 的任何地方(即全局證書)
2 特定的 Pipeline 項目
3 特定的 Jenkins 用戶
Jenkins憑證就是保存了用戶名和密碼。
Jenkins憑證建立
點擊 credentials
選擇 global
選擇 add credentials
添加用戶名和密碼
1 點擊新建
然後輸入項目名稱
2 選擇構建一個自由風格的項目
3 然後在General裏填寫
構建選擇 Execute shell
這裏面直接寫shell腳本便可
需求一 使用gitlab建立項目
需求二 使用ansible的roles實現一鍵化部署wordpress
每次部署須要備份以前的網站數據
使用roles
使用templates
腳本對網站監控檢測
需求三 完成以後項目上傳至gitlab
需求四 使用jenkins實現項目的持續集成
環境準備:
三臺虛擬機
1 號機安裝gitlab
2 號機安裝jenkins git ansible
3 號機是被批量部署的主機
首先說明,由於電腦性能緣由,因此,gitlab沒有跟jenkins部署在一塊兒。
第一步
1號搭建好私有倉庫,注意,要打開配置文件,/etc/gitlab/gitlab.rb修改配置文件,將external_url改成本機ip,搭建好以後,便可使用web登錄,注意,使用的是本機ip登錄,由於gitlab用的也是80端口,然後點擊new uesres,添些用戶名,郵箱,點擊new group,在group path處填寫webbs,visibility level選擇public,點擊new project,在project name處選擇我們剛建立的組,webbs。
第二步
2號機編寫ansible劇本
第三步
2號機安裝號jenkins後,切記,若是沒有配置好插件,不能進行下面的操做,配置好以後,選擇new item,Enter an item name下方填寫你的項目命名,然後選擇freesylt project,Description可填可不填,Source Code Management選擇git,Repository URL填你的gitlab裏http的地址,憑證裏的用戶名和密碼填gitlab的用戶名和密碼,Build選擇Execute shell,寫入shell命令,#!/bin/bash cd $WORKSPACE/test ansible-play 劇本名.yml
第四步
點擊Build Now,當即構建。