溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

jenkins基礎(chǔ)構(gòu)建

發(fā)布時(shí)間:2020-07-19 21:53:19 來源:網(wǎng)絡(luò) 閱讀:492 作者:mb5cd21e691f31a 欄目:云計(jì)算

持續(xù)集成之 Jenkins+Gitlab 簡介 [一]

持續(xù)集成概念
持續(xù)集成 Continuous Integration
持續(xù)交付 Continuous Delivery
持續(xù)部署 Continuous Deployment
1.1 什么是持續(xù)集成:
持續(xù)集成是指開發(fā)者在代碼的開發(fā)過程中,可以頻繁的將代碼部署集成到主干,并進(jìn)程自動(dòng)化測(cè)試
jenkins基礎(chǔ)構(gòu)建
1.3 什么是持續(xù)交付:
持續(xù)交付指的是在持續(xù)集成的環(huán)境基礎(chǔ)之上,將代碼部署到預(yù)生產(chǎn)環(huán)境
jenkins基礎(chǔ)構(gòu)建
1.4 持續(xù)部署:
在持續(xù)交付的基礎(chǔ)上,把部署到生產(chǎn)環(huán)境的過程自動(dòng)化,持續(xù)部署和持續(xù)交付的區(qū)別就是最終部署到生產(chǎn)環(huán)境是自動(dòng)化的。
jenkins基礎(chǔ)構(gòu)建
1.5 部署代碼上線流程
1.代碼獲取(直接了拉?。?br/>2.編譯 (可選)
3.配置文件放進(jìn)去
4.打包
5.scp 到目標(biāo)服務(wù)器
6.將目標(biāo)服務(wù)器移除集群
7.解壓并放置到 Webroot
8.Scp 差異文件
9.重啟 (可選)
10.測(cè)試
11.加入集群
運(yùn)維必知 OWASP
Jenkins 上 OWASP 插件介紹: 它是開放式 Web 應(yīng)用程序安全項(xiàng)目[OWASP,Open Web Application Secunity Project]它每年會(huì)出一個(gè) top10 的安全漏洞,我們需要知道當(dāng)前 top10 的漏洞有哪些
jenkins基礎(chǔ)構(gòu)建
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 是一個(gè)利用 Ruby on Rails 開發(fā)的開源應(yīng)用程序,實(shí)現(xiàn)一個(gè)自托管的 Git 項(xiàng)目倉庫,
可通過 Web 界面進(jìn)行訪問公開的或者私人項(xiàng)目。
GitLab 擁有與 Github 類似的功能,能夠?yàn)g覽源代碼,管理缺陷和注釋??梢怨芾韴F(tuán)隊(duì)對(duì)倉庫
的訪問,它非常易于瀏覽提交過的版本并提供一個(gè)文件歷史庫。它還提供一個(gè)代碼片段收集功能可
以輕松實(shí)現(xiàn)代碼復(fù)用,便于日后有需要的時(shí)候進(jìn)行查找。
環(huán)境準(zhǔn)備

上傳所需安裝包
jenkins基礎(chǔ)構(gòu)建

安裝部署gitlab

1.安裝gitlab
rpm -ivh gitlab-ce-11.9.8-ce.0.el6.x86_64.rpm
2.初始化gitlab
gitlab-ctl reconfigure
3.瀏覽器登陸gitlab
jenkins基礎(chǔ)構(gòu)建
jenkins基礎(chǔ)構(gòu)建
4.新建一個(gè)項(xiàng)目

jenkins基礎(chǔ)構(gòu)建
jenkins基礎(chǔ)構(gòu)建

jenkins基礎(chǔ)構(gòu)建

在Linux生成密鑰并復(fù)制
ssh-keygen -t rsa 生成密鑰
cat /root/.ssh/id_rsa.pub 查看密鑰并復(fù)制

放置密鑰

jenkins基礎(chǔ)構(gòu)建
進(jìn)入自己的項(xiàng)目
jenkins基礎(chǔ)構(gòu)建
5.設(shè)置項(xiàng)目在linux
參考web上的介紹
jenkins基礎(chǔ)構(gòu)建
(1) 創(chuàng)建用戶和所需郵箱表明身份

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

(2) 克隆一個(gè)倉庫

git clone git@192.168.1.40:root/xgp-demo.git
[root@localhost ~]# cd xgp-demo/   進(jìn)入庫
[root@localhost xgp-demo]# vim index.html    創(chuàng)建測(cè)試文件
[root@localhost xgp-demo]# git add index.html   上傳測(cè)試文件到緩存
[root@localhost xgp-demo]# git commit  -m "1"   上傳到版板庫
[root@localhost xgp-demo]# git push  -u origin  master  上傳到運(yùn)程倉庫

(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 只是一個(gè)平臺(tái),真正運(yùn)作的都是插件。這就是 jenkins 流行的原因,因?yàn)?jenkins 什么插件都有Hudson 是 Jenkins 的前身,是基于 Java 開發(fā)的一種持續(xù)集成工具,用于監(jiān)控程序重復(fù)的工作,
Hudson 后來被收購,成為商業(yè)版。后來創(chuàng)始人又寫了一個(gè) jenkins, jenkins 在功能上遠(yuǎn)遠(yuǎn)超過
hudson
Jenkins 官網(wǎng): https://jenkins.io/
Jenkins 是 Java 編寫的,所以需要先安裝 JDK,這里采用 yum 安裝,如果對(duì)版本有需求,可以
直接在 Oracle 官網(wǎng)下載 JDK。
安裝
1.安裝 JDK
rpm -ivh jenkins-2.172-1.1.noarch.rpm
2.修改JDK配置文件
vim /etc/sysconfig/jenkins
JENKINS_PORT="8081" #修改端口 56
3.啟動(dòng)JDK并查看端口
/etc/init.d/jenkins start #啟動(dòng)
netstat -anpt | grep 8081 #查看的端口
jenkins基礎(chǔ)構(gòu)建

  1. Jenkins Web 訪問地址: 192.168.1.40:8081
    jenkins基礎(chǔ)構(gòu)建
    Linux查看密碼并復(fù)制到web頁面 ,然后點(diǎn)擊繼續(xù)
    [root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
    bb220f4cf61d46999ba7f6686eeecf32

(1)安裝方法一
復(fù)制這個(gè)文件下面的 ID,否則不可以進(jìn)行安裝。我們選擇推薦安裝即可
jenkins基礎(chǔ)構(gòu)建
設(shè)置用戶名密碼:
jenkins基礎(chǔ)構(gòu)建
點(diǎn)擊保存并退出
jenkins基礎(chǔ)構(gòu)建
(3) 安裝方法二

[root@localhost ~]# tar zxf jenkins-plugins.tar.gz    #解壓所需安裝包
[root@localhost ~]# rm -rf /var/lib/jenkins/plugins/   #刪除目錄
[root@localhost ~]# mv plugins/ /var/lib/jenkins/ #將替換目錄移動(dòng)過去
[root@localhost ~]# /etc/init.d/jenkins restart   #重啟JDK
Restarting jenkins (via systemctl):                        [  確定  ]

瀏覽器查看一下
jenkins基礎(chǔ)構(gòu)建
Linux查看密碼并復(fù)制到web頁面 ,然后點(diǎn)擊繼續(xù) (記得斷網(wǎng))
[root@localhost ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
bb220f4cf61d46999ba7f6686eeecf32
jenkins基礎(chǔ)構(gòu)建
jenkins基礎(chǔ)構(gòu)建
jenkins基礎(chǔ)構(gòu)建
3.安裝完成查看一下插件
jenkins基礎(chǔ)構(gòu)建
jenkins基礎(chǔ)構(gòu)建

jenkins基礎(chǔ)構(gòu)建

持續(xù)集成之 Jenkins+Gitlab 實(shí)現(xiàn)持續(xù)集成 [二]

項(xiàng)目:使用 git+jenkins 實(shí)現(xiàn)持續(xù)集成
jenkins基礎(chǔ)構(gòu)建
jenkins基礎(chǔ)構(gòu)建

(1) 方法一
源碼管理
我們安裝的是 git 插件,還可以安裝 svn 插件
jenkins基礎(chǔ)構(gòu)建
們將 git 路徑存在這里還需要權(quán)限認(rèn)證,否則會(huì)出現(xiàn) error
jenkins基礎(chǔ)構(gòu)建
cat /root/.ssh/id_rsa 查看密鑰方式
我們添加一個(gè)認(rèn)證
jenkins基礎(chǔ)構(gòu)建jenkins基礎(chǔ)構(gòu)建

現(xiàn)在我們復(fù)制 git 的 url 就不會(huì)出現(xiàn)驗(yàn)證提示
jenkins基礎(chǔ)構(gòu)建

(2)方法二
jenkins基礎(chǔ)構(gòu)建
保存完畢后,我們選擇立即構(gòu)建
jenkins基礎(chǔ)構(gòu)建
構(gòu)建成功
jenkins基礎(chǔ)構(gòu)建

Linux上查看一下
jenkins基礎(chǔ)構(gòu)建

自動(dòng)構(gòu)建

  1. 安裝插件
    先進(jìn)入到之前查看插件的地方
    系統(tǒng)設(shè)置----插件管理----高級(jí)_---上傳插件gitlab-oauth、gitlab-plugin、 windows-slaves、ruby-runt ime、gitlab-hook
    jenkins基礎(chǔ)構(gòu)建
  2. 構(gòu)建觸發(fā)器(xgp改為了x)
    x- demo---配置-- -構(gòu)建觸發(fā)器------勾選觸發(fā)遠(yuǎn)程構(gòu)建--構(gòu)建身份令牌(在終 端執(zhí)行openssl rand -hex 10) 生成的令牌238e3f0ed60b9bc795f3
    勾選Build when a change is pushed to GitLab
    --保存
    jenkins基礎(chǔ)構(gòu)建
    jenkins基礎(chǔ)構(gòu)建
    openssl rand -hex 10 生成十位數(shù)令牌
    jenkins基礎(chǔ)構(gòu)建
  3. 回到git1ab的web頁面
    點(diǎn)擊projects--your project- -web- demo--settings-- Integrations -- JENKINS_ URL/ job/web- demo/build?token=TOKEN NAME- -取消勾選Enable SSL verification
    jenkins基礎(chǔ)構(gòu)建
    jenkins基礎(chǔ)構(gòu)建
    確定之后有報(bào)錯(cuò):解決方法
    回到git1ab的web頁面---點(diǎn)擊小鉗子---settings---Ne twork-----0utbound requests---- 勾選Allow requests to the local ne twork(允許本地請(qǐng)求)
    jenkins基礎(chǔ)構(gòu)建

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

jenkins基礎(chǔ)構(gòu)建
4.測(cè)試一下
jenkins基礎(chǔ)構(gòu)建
jenkins基礎(chǔ)構(gòu)建
可以看到又有報(bào)錯(cuò):解決方法
回到j(luò)enkins頁面
系統(tǒng)管理---全局安全設(shè)置---授權(quán)策略-- -取消勾選防止跨站點(diǎn)請(qǐng)求偽造
勾選匿名用戶具有可讀權(quán)限
系統(tǒng)管理--系統(tǒng)設(shè)置---取消勾選Enable authentication for '/project' end-point
jenkins基礎(chǔ)構(gòu)建
jenkins基礎(chǔ)構(gòu)建
jenkins基礎(chǔ)構(gòu)建
jenkins基礎(chǔ)構(gòu)建
jenkins基礎(chǔ)構(gòu)建
回到gitlab測(cè)試一下
jenkins基礎(chǔ)構(gòu)建
成功
jenkins基礎(chǔ)構(gòu)建

  1. 在Linux上創(chuàng)建測(cè)試文件,再次測(cè)試一下

    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基礎(chǔ)構(gòu)建
    在web界面的jenkins查看一下
    jenkins基礎(chǔ)構(gòu)建

    jenkins基礎(chǔ)構(gòu)建

實(shí)驗(yàn)完畢

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI