您好,登錄后才能下訂單哦!
持續集成概念
持續集成 Continuous Integration
持續交付 Continuous Delivery
持續部署 Continuous Deployment
1.1 什么是持續集成:
持續集成是指開發者在代碼的開發過程中,可以頻繁的將代碼部署集成到主干,并進程自動化測試
1.3 什么是持續交付:
持續交付指的是在持續集成的環境基礎之上,將代碼部署到預生產環境
1.4 持續部署:
在持續交付的基礎上,把部署到生產環境的過程自動化,持續部署和持續交付的區別就是最終部署到生產環境是自動化的。
1.5 部署代碼上線流程
1.代碼獲取(直接了拉取)
2.編譯 (可選)
3.配置文件放進去
4.打包
5.scp 到目標服務器
6.將目標服務器移除集群
7.解壓并放置到 Webroot
8.Scp 差異文件
9.重啟 (可選)
10.測試
11.加入集群
運維必知 OWASP
Jenkins 上 OWASP 插件介紹: 它是開放式 Web 應用程序安全項目[OWASP,Open Web Application Secunity Project]它每年會出一個 top10 的安全漏洞,我們需要知道當前 top10 的漏洞有哪些
https://www.owasp.org/images/5/57/OWASP_Proactive_Controls_2.pdf
https://www.owasp.org/index.php/Top_10_2013-Top_10
Gitlab 介紹
GitLab 是一個利用 Ruby on Rails 開發的開源應用程序,實現一個自托管的 Git 項目倉庫,
可通過 Web 界面進行訪問公開的或者私人項目。
GitLab 擁有與 Github 類似的功能,能夠瀏覽源代碼,管理缺陷和注釋。可以管理團隊對倉庫
的訪問,它非常易于瀏覽提交過的版本并提供一個文件歷史庫。它還提供一個代碼片段收集功能可
以輕松實現代碼復用,便于日后有需要的時候進行查找。
環境準備
上傳所需安裝包
1.安裝gitlab
rpm -ivh gitlab-ce-11.9.8-ce.0.el6.x86_64.rpm
2.初始化gitlab
gitlab-ctl reconfigure
3.瀏覽器登陸gitlab
4.新建一個項目
在Linux生成密鑰并復制
ssh-keygen -t rsa 生成密鑰
cat /root/.ssh/id_rsa.pub 查看密鑰并復制
放置密鑰
進入自己的項目
5.設置項目在linux
參考web上的介紹
(1) 創建用戶和所需郵箱表明身份
[root@localhost ~]# git config --global user.name “admin”
[root@localhost ~]# git config --global user.email admin@admin.com
(2) 克隆一個倉庫
git clone git@192.168.1.40:root/xgp-demo.git
[root@localhost ~]# cd xgp-demo/ 進入庫
[root@localhost xgp-demo]# vim index.html 創建測試文件
[root@localhost xgp-demo]# git add index.html 上傳測試文件到緩存
[root@localhost xgp-demo]# git commit -m "1" 上傳到版板庫
[root@localhost xgp-demo]# git push -u origin master 上傳到運程倉庫
(3).修改配置文件
[root@localhost xgp-demo]# vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.1.40' #13行
(4).重新初始化一下
gitlab-ctl reconfigure
Jenkins 介紹
Jenkins 只是一個平臺,真正運作的都是插件。這就是 jenkins 流行的原因,因為 jenkins 什么插件都有Hudson 是 Jenkins 的前身,是基于 Java 開發的一種持續集成工具,用于監控程序重復的工作,
Hudson 后來被收購,成為商業版。后來創始人又寫了一個 jenkins, jenkins 在功能上遠遠超過
hudson
Jenkins 官網: https://jenkins.io/
Jenkins 是 Java 編寫的,所以需要先安裝 JDK,這里采用 yum 安裝,如果對版本有需求,可以
直接在 Oracle 官網下載 JDK。
安裝
1.安裝 JDK
rpm -ivh jenkins-2.172-1.1.noarch.rpm
2.修改JDK配置文件
vim /etc/sysconfig/jenkins
JENKINS_PORT="8081" #修改端口 56
3.啟動JDK并查看端口
/etc/init.d/jenkins start #啟動
netstat -anpt | grep 8081 #查看的端口
(1)安裝方法一
復制這個文件下面的 ID,否則不可以進行安裝。我們選擇推薦安裝即可
設置用戶名密碼:
點擊保存并退出
(3) 安裝方法二
[root@localhost ~]# tar zxf jenkins-plugins.tar.gz #解壓所需安裝包
[root@localhost ~]# rm -rf /var/lib/jenkins/plugins/ #刪除目錄
[root@localhost ~]# mv plugins/ /var/lib/jenkins/ #將替換目錄移動過去
[root@localhost ~]# /etc/init.d/jenkins restart #重啟JDK
Restarting jenkins (via systemctl): [ 確定 ]
瀏覽器查看一下
Linux查看密碼并復制到web頁面 ,然后點擊繼續 (記得斷網)
[root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
bb220f4cf61d46999ba7f6686eeecf32
3.安裝完成查看一下插件
項目:使用 git+jenkins 實現持續集成
(1) 方法一
源碼管理
我們安裝的是 git 插件,還可以安裝 svn 插件
們將 git 路徑存在這里還需要權限認證,否則會出現 error
cat /root/.ssh/id_rsa 查看密鑰方式
我們添加一個認證
現在我們復制 git 的 url 就不會出現驗證提示
(2)方法二
保存完畢后,我們選擇立即構建
構建成功
Linux上查看一下
再次點擊projects--your project- -web- demo--settings-- Integrations -- JENKINS_ URL/ job/web- demo/build?token=TOKEN NAME- -取消勾選Enable SSL verification
4.測試一下
可以看到又有報錯:解決方法
回到jenkins頁面
系統管理---全局安全設置---授權策略-- -取消勾選防止跨站點請求偽造
勾選匿名用戶具有可讀權限
系統管理--系統設置---取消勾選Enable authentication for '/project' end-point
回到gitlab測試一下
成功
在Linux上創建測試文件,再次測試一下
49 cd xgp-demo/
50 vim xgp.txt
51 git add xgp.txt
52 git commit -m "web hook"
53 git push origin master
在web界面的jenkins查看一下
實驗完畢
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。