jenkins基礎構建

持續集成之 Jenkins+Gitlab 簡介 [一]

持續集成概念
持續集成 Continuous Integration
持續交付 Continuous Delivery
持續部署 Continuous Deployment
1.1 什麼是持續集成:
持續集成是指開發者在代碼的開發過程當中,能夠頻繁的將代碼部署集成到主幹,並進程自動化測試
jenkins基礎構建
1.3 什麼是持續交付:
持續交付指的是在持續集成的環境基礎之上,將代碼部署到預生產環境
jenkins基礎構建
1.4 持續部署:
在持續交付的基礎上,把部署到生產環境的過程自動化,持續部署和持續交付的區別就是最終部署到生產環境是自動化的。
jenkins基礎構建
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 的漏洞有哪些
jenkins基礎構建
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 相似的功能,可以瀏覽源代碼,管理缺陷和註釋。能夠管理團隊對倉庫
的訪問,它很是易於瀏覽提交過的版本並提供一個文件歷史庫。它還提供一個代碼片斷收集功能可
以輕鬆實現代碼複用,便於往後有須要的時候進行查找。
環境準備php

上傳所需安裝包
jenkins基礎構建html

安裝部署gitlab

1.安裝gitlab
rpm -ivh gitlab-ce-11.9.8-ce.0.el6.x86_64.rpm
2.初始化gitlab
gitlab-ctl reconfigure
3.瀏覽器登錄gitlab
jenkins基礎構建
jenkins基礎構建
4.新建一個項目linux

jenkins基礎構建
jenkins基礎構建

jenkins基礎構建

在Linux生成密鑰並複製
ssh-keygen -t rsa 生成密鑰
cat /root/.ssh/id_rsa.pub 查看密鑰並複製git

放置密鑰web

jenkins基礎構建
進入本身的項目
jenkins基礎構建
5.設置項目在linux
參考web上的介紹
jenkins基礎構建
(1) 建立用戶和所需郵箱代表身份vim

[root@localhost ~]# git config --global user.name 「admin」
[root@localhost ~]# git config --global user.email  admin@admin.com

(2) 克隆一個倉庫windows

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 流行的緣由,由於 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 #查看的端口
jenkins基礎構建安全

  1. Jenkins Web 訪問地址: 192.168.1.40:8081
    jenkins基礎構建
    Linux查看密碼並複製到web頁面 ,而後點擊繼續
    [root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
    bb220f4cf61d46999ba7f6686eeecf32

(1)安裝方法一
複製這個文件下面的 ID,不然不能夠進行安裝。咱們選擇推薦安裝便可
jenkins基礎構建
設置用戶名密碼:
jenkins基礎構建
點擊保存並退出
jenkins基礎構建
(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):                        [  肯定  ]

瀏覽器查看一下
jenkins基礎構建
Linux查看密碼並複製到web頁面 ,而後點擊繼續 (記得斷網)
[root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
bb220f4cf61d46999ba7f6686eeecf32
jenkins基礎構建
jenkins基礎構建
jenkins基礎構建
3.安裝完成查看一下插件
jenkins基礎構建
jenkins基礎構建

jenkins基礎構建

持續集成之 Jenkins+Gitlab 實現持續集成 [二]

項目:使用 git+jenkins 實現持續集成
jenkins基礎構建
jenkins基礎構建

(1) 方法一
源碼管理
咱們安裝的是 git 插件,還能夠安裝 svn 插件
jenkins基礎構建
們將 git 路徑存在這裏還須要權限認證,不然會出現 error
jenkins基礎構建
cat /root/.ssh/id_rsa 查看密鑰方式
咱們添加一個認證
jenkins基礎構建jenkins基礎構建

如今咱們複製 git 的 url 就不會出現驗證提示
jenkins基礎構建

(2)方法二
jenkins基礎構建
保存完畢後,咱們選擇當即構建
jenkins基礎構建
構建成功
jenkins基礎構建

Linux上查看一下
jenkins基礎構建

自動構建

  1. 安裝插件
    先進入到以前查看插件的地方
    系統設置----插件管理----高級_---上傳插件gitlab-oauth、gitlab-plugin、 windows-slaves、ruby-runt ime、gitlab-hook
    jenkins基礎構建
  2. 構建觸發器(xgp改成了x)
    x- demo---配置-- -構建觸發器------勾選觸發遠程構建--構建身份令牌(在終 端執行openssl rand -hex 10) 生成的令牌238e3f0ed60b9bc795f3
    勾選Build when a change is pushed to GitLab
    --保存
    jenkins基礎構建
    jenkins基礎構建
    openssl rand -hex 10 生成十位數令牌
    jenkins基礎構建
  3. 回到git1ab的web頁面
    點擊projects--your project- -web- demo--settings-- Integrations -- JENKINS_ URL/ job/web- demo/build?token=TOKEN NAME- -取消勾選Enable SSL verification
    jenkins基礎構建
    jenkins基礎構建
    肯定以後有報錯:解決方法
    回到git1ab的web頁面---點擊小鉗子---settings---Ne twork-----0utbound requests---- 勾選Allow requests to the local ne twork(容許本地請求)
    jenkins基礎構建

再次點擊projects--your project- -web- demo--settings-- Integrations -- JENKINS_ URL/ job/web- demo/build?token=TOKEN NAME- -取消勾選Enable SSL verification

jenkins基礎構建
4.測試一下
jenkins基礎構建
jenkins基礎構建
能夠看到又有報錯:解決方法
回到jenkins頁面
系統管理---全局安全設置---受權策略-- -取消勾選防止跨站點請求僞造
勾選匿名用戶具備可讀權限
系統管理--系統設置---取消勾選Enable authentication for '/project' end-point
jenkins基礎構建
jenkins基礎構建
jenkins基礎構建
jenkins基礎構建
jenkins基礎構建
回到gitlab測試一下
jenkins基礎構建
成功
jenkins基礎構建

  1. 在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

    jenkins基礎構建
    在web界面的jenkins查看一下
    jenkins基礎構建

    jenkins基礎構建

實驗完畢

相關文章
相關標籤/搜索