因爲Jenkins是依賴於java的,因此先介紹java環境的搭建html
1)使用官方的二進制包解壓安裝,官方二進制包的下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmljava
(2)安裝java(解壓,移動便可)python
(3)配置java環境變量/etc/profilegit
(4)Jenkins的下載和運行web
而後咱們在瀏覽器上進行訪問:http://IP:8080 出現以下界面shell
Jenkins的做用?windows
Jenkins監聽端口8080瀏覽器
Jenkins默認密碼路徑,須要到Jenkins所在的服務器進行查看安全
/root/.jenkins/secrets/initialAdminPassword
Jenkins初始化配置:服務器
將服務器上的密碼複製過來到瀏覽器上提交後,靜心等待,出現以下界面
(2)新添加一個用戶yunjisuan
(3)查看Jenkins的權限(登陸用戶能夠作任何事情)
系統管理--->全局安全配置
十五,Jenkins實現命令結果的可視化
(1)添加ssh方式的被管理服務器
系統管理--->系統設置--->找到Publish over SSH能夠添加對應的操做服務器
這就添加好一臺被管理的主機了。要繼續添加被管理的主機只須要重複以前的過程
(2)建立新任務*
(3)馬上構建任務並執行
十六,Jenkins+svn實現持續化集成
需求,開發改完代碼上傳到svn上,而後運維打包最新版本代碼部署到業務服務器上。
svn的部署與應用請參考專題(一)16.1 設置svn的鏈接密碼,並進行代碼的部署測試
設置完畢後,應用保存。
在windows上對svn的yunjisuan項目進行版本提交後
選擇馬上構建項目
[root@webB tmp]# hostname -I
192.168.200.138
[root@webB tmp]# ls /tmp/test/
mycode
[root@webB tmp]# ls /tmp/test/mycode/
python.py 雲計算最終架構示例模板(一).png 雲計算最終架構示例模板(二).png 雲計算期中架構模版(一).png
16.2 模擬真實環境web服務器的代碼部署和備份
[root@localhost tmp]# mkdir -p /www/{html,backup}
[root@localhost tmp]# tree /www/
/www/
├── backup #html網頁目錄的備份放置目錄
└── html #網頁目錄
在jenkins上設置webA,webB兩臺服務器做爲項目的構建目標
將如下shell腳本代碼複製到構建目標的Exec command裏
#備份web服務器舊網頁目錄代碼,並將部署到服務器上的新代碼覆蓋到網頁目錄裏
cd /www
/usr/bin/tar zcf html_$(date +%F-%H-%S).tar.gz html
rm -rf html/*
mv html_*.tar.gz backup/
mv /tmp/test/* /www/html/
選擇馬上構建進行測試
#檢查webA和webB,代碼構建狀況
[root@webA tmp]# tree /www/
/www/
├── backup
│ └── html_2018-06-25-12-58.tar.gz #舊網頁目錄備份
└── html
└── mycode
├── python.py
├── \344\272\221\350\256\241\347\256\227\346\234\200\347\273\210\346\236\266\346\236\204\347\244\272\344\276\213\346\250\241\346\235\277\357\274\210\344\270\200\357\274\211.png
├── \344\272\221\350\256\241\347\256\227\346\234\200\347\273\210\346\236\266\346\236\204\347\244\272\344\276\213\346\250\241\346\235\277\357\274\210\344\272\214\357\274\211.png
└── \344\272\221\350\256\241\347\256\227\346\234\237\344\270\255\346\236\266\346\236\204\346\250\241\347\211\210\357\274\210\344\270\200\357\274\211.png
3 directories, 5 files
[root@webB tmp]# tree /www/
/www/
├── backup
│ └── html_2018-06-25-12-58.tar.gz #舊網頁目錄備份
└── html
└── mycode
├── python.py
├── \344\272\221\350\256\241\347\256\227\346\234\200\347\273\210\346\236\266\346\236\204\347\244\272\344\276\213\346\250\241\346\235\277\357\274\210\344\270\200\357\274\211.png
├── \344\272\221\350\256\241\347\256\227\346\234\200\347\273\210\346\236\266\346\236\204\347\244\272\344\276\213\346\250\241\346\235\277\357\274\210\344\272\214\357\274\211.png
└── \344\272\221\350\256\241\347\256\227\346\234\237\344\270\255\346\236\266\346\236\204\346\250\241\347\211\210\357\274\210\344\270\200\357\274\211.png
3 directories, 5 files
16.3 模擬真實環境,開發進行代碼回滾
(1)右鍵點擊共享目錄選擇TortoiseSVN--->Show log
右鍵點擊想要回滾的版本選擇Revert to this revision
此時你發現你的共享目錄裏的東西已經被回滾到了指定的版本。
最後咱們千萬別忘記了右鍵點擊共享目錄,將結果進行提交(SVN commit)(2)從新進行jenkins項目構建,並檢查部署狀況
[root@webA tmp]# tree /www/
/www/
├── backup
│ ├── html_2018-06-25-12-58.tar.gz
│ └── html_2018-06-25-13-15.tar.gz
└── html
└── mycode
├── python.py
└── \346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt
3 directories, 4 files
[root@webB tmp]# tree /www/
/www/
├── backup
│ ├── html_2018-06-25-12-58.tar.gz
│ └── html_2018-06-25-13-15.tar.gz
└── html
└── mycode
├── python.py
└── \346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt
3 directories, 4 files
至此,測試成功!
十七,Jenkins實現ansible可視化
(1)安裝jenkins ansible插件,啓動ansible插件
最後進入安裝界面最下方勾選,安裝完成時重啓Jenkins
(2)系統管理--->全局工具配置---->配置ansible
(3)新建一個項目任務,使用ansible進行構建,跑個shell和copy模塊
新建一個叫作ansible_test的新項目任務,過程略
進入項目的配置裏。構建一個基於ansible的任務
而後點擊馬上構建功能,並查看輸出結果
(4)新建一個項目任務,使用ansible-playbook進行構建
#準備一個playbook的配置文件
[root@ansible scripts]# cat /service/scripts/test.yaml
---
- hosts: all
tasks:
- name: test jenkins ansible-playbook
shell: echo "welcome to yunjisuan" >> /tmp/yunjisuan.txt
而後新建一個新的項目任務,進行配置
最後查看構建的可視化輸出結果