Jenkins介紹
Jenkins是一個開源軟件項目,是基於Java開發的一種持續集成工具,用於監控持續重複的工做,旨在提供一個開放易用的軟件平臺,使軟件的持續集成變成可能。
Jenkins功能包括:
一、持續的軟件版本發佈/測試項目。
二、監控外部調用執行的工做。
jenkins就是基於Java開發的一種持續集成的工具
能夠將運維用到的各個腳本整合起來,而且能夠經過頁面方式集中管理,並且能夠也能夠實現和gitlab、github交互,也能夠實現自動編譯、部署程序。
持續集成
持續集成是一種軟件開發實踐,即團隊開發成員常常集成他們的工做,經過每一個成員天天至少集成一次,也就意味着天天可能會發生屢次集成。
每次集成都經過自動化的構建(包括編譯,發佈,自動化測試)來驗證,從而儘早地發現集成錯誤。
持續集成:Continuous Intergration (CI)
持續交付:Continuous Delivery(CD)
持續部署:Continuous Deployment(CD)
集成是指軟件我的研發的部分向軟件總體部分交付,以便儘早發現我的開發部分的問題;
部署是代碼儘快向可運行的開發/測試節交付,以便儘早測試;
交付是指研發儘快向客戶交付,以便儘早發現生產環境中存在的問題。
若是說等到全部東西都完成了才向下個環節交付,致使全部的問題只能再最後才爆發出來,解決成本巨大甚至沒法解決。
而所謂的持續,就是說每完成一個完整的部分,就向下個環節交付,發現問題能夠立刻調整。是的問題不會放大到其餘部分和後面的環節。
持續集成(CI)流程
1. 提交(git)
2. 測試
3. 構建(jenkins)
4. 測試
5. 部署(ansible,shell,puppet)
6. 回滾(ansible)
安裝部署jenkins:http://pkg.jenkins.io/ #到該網站下載你想要的jenkins對應版本。
jenkins基於java開發,所以須要安裝java環境
yum install java -y
[root@centos ~]# ls | grep jenkins
jenkins-2.138.3-1.1.noarch.rpm
[root@centos ~]# rpm -ivh jenkins-2.138.3-1.1.noarch.rpm
jenkins監聽的是8080端口
vim /etc/sysconfig/jenkins
更改JENKINS_USER="root"
systemctl restart jenkins
而後瀏覽器訪問ip+port便可進入安裝界面。
[root@centos ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
f10ee04f771042638d1c152355efc8c8
將管理員密碼複製到提示框
而後下一步,跳過插件安裝,而後建立你的用戶和密碼。
最後保存配置,選擇系統管理——>插件管理
手動下載插件,而後安裝: #http://updates.jenkins-ci.org/ 找到你jenkins對應的版本,下載插件。
[root@centos ~]# tar xf plugins-2.138.3.tar.gz
[root@centos ~]# cp plugins/* /var/lib/jenkins/plugins/ -a
重啓jenkins:
systemctl restart jenkins
而後進入web界面:系統管理——>插件管理 #發現已經有了已安裝插件
在jenkins建立一個項目,如test項目,其實是在/var/lib/jenkins/workspace/下面建立了一個test目錄,
若是要實現jenkins項目版本管理,那麼須要下載git,將test目錄初始化爲git工做目錄。
Jenkins憑證介紹
有許多第三方網站和應用程序能夠與 Jenkins 進行交互,例如程序代碼倉庫,雲存儲系統和服務等。
此類應用程序的系統管理員能夠在應用程序中配置憑證以專供 Jenkins 使用。
一般經過將訪問控制應用於這些憑證來完成這項工做,以「鎖定」Jenkins可用的應用程序功能區域。
一旦 Jenkins 管理員(即管理 Jenkins 站點的 Jenkins 用戶)在 Jenkins 中添加/配置這些憑證,Pipeline 項目就可使用憑證與這些第三方應用程序進行交互。
Jenkins 中保存的憑證能夠用於:
任何適用於 Jenkins 的任何地方(即全局證書)
特定的 Pipeline 項目
特定的 Jenkins 用戶
Jenkins憑證的建立
能夠給gitlab建立一個憑證,用戶是gitlab用戶名,密碼是gitlab密碼,這樣在調用git作持續集成的時候就能夠直接使用該憑證了
建立憑證:進入你的jenkins的首頁,點擊左邊欄的憑證——>系統——>全局憑證——>添加憑據——>填寫gitlab的用戶和密碼
Jenkins的使用
Jenkins+Git+Gitlab+Ansible實現持續集成自動化部署
待續........