文章目錄
- 1 持續集成概述和搭建Gitlab平臺
- 1.1持續集成概述
- 1.2jenkins和Gitlab概述
- GitLab概述:
- 1.3GitLab和GitHub的區別
- 1.4 搭建GitLab平臺
- 2 配置gitlab郵件服務和對gitlab平臺漢化
- 2.1 管理gitlab服務
- 2.2 配置gitlab郵件服務
- 1.開啟郵箱的SMTP服務
- 2. 編輯/etc/gitlab/gitlab.rb檔案,配置STMP郵件發送服務,前提你的郵件已經開通stmp/pop3收發功能
- 3 通過命令列測驗郵件是否發送成功(也可以不測)
- 2.3 漢化gitlab
- 2.4 關閉gitlab注冊功能
- 3 gitlab日常使用方法
- 3.1 新建專案
- 3.2 創建用戶
- 3.3 重置新創建的用戶的密碼
- 3.4 洗掉用戶
- 3.5 在專案中添加一個檔案
- 4 git客戶端使用技巧
- 4.1 安裝git并clone代碼
- 4.2 初次運行 Git 前的配置
- 1. ~/.gitconfig 檔案:用戶目錄下的組態檔只適用于該用戶,
- 2. 當前專案.git目錄中的組態檔(也就是作業目錄中的 .git/config 檔案):
- 4.3 git常用命令
- 4.4 作業區和暫存區及分支概述
- 5 搭建Jenkins實作持續集成
- 5.1 安裝JDK1.8
- 5.2 安裝jenkins
- 5.3 訪問Jenkins并安裝相關插件
- 5.4 手動安裝相關插件
基于最新版本:jenkins-2.222和gitlab-ce-13.9.4 搭建以下服務
1 持續集成概述和搭建Gitlab平臺
1.1持續集成概述
持續集成概述:持續集成(Continuous integration)持續集成是指開發者在代碼的開發程序中,可以頻繁的將代碼部署集成到主干,并行程自動化測驗,開發-》代碼編譯-》測驗-》
持續交付:持續交付指的是在持續集成的環境基礎之上,將代碼部署到預生產環境,
持續部署:在持續交付的基礎上,把部署到生產環境的程序自動化,

1.2jenkins和Gitlab概述
Jenkins概述:是一個開源軟體專案,是基于Java開發的一種持續集成工具,用于監控持續重復的作業,旨在提供一個開放易用的軟體平臺,使軟體的持續集成變成可能,
網方網站:https://jenkins.io/

GitLab概述:
是一個利用 Ruby on Rails 開發的開源應用程式,實作一個自托管的Git專案倉庫,可通過Web界面進行訪問公開的或者私人專案,Ruby on Rails 是一個可以使你開發、部署、維護 web 應用程式變得簡單的框架,
GitLab擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和注釋,可以管理團隊對倉庫的訪問,它非常易于瀏覽提交過的版本并提供一個檔案歷史庫,它還提供一個代碼片段收集功能可以輕松實作代碼復用,便于日后有需要的時候進行查找,
GitLab中文網:https://www.gitlab.cc/installation/#centos-7
1.3GitLab和GitHub的區別
GitHub和GitLab的區別:

相同點: 二者都是基于web的Git倉庫,在很大程度上GitLab是仿照GitHub來做的,它們都提供了分享開源專案的平臺,為開發團隊提供了存盤、分享、發布和合作開發專案的中心化云存盤的場所,
不同點:
-
GitHub免費版本只有500MB的代碼存盤空間,

更多免費用戶的限制條件詳見:https://github.com/pricing -
GitLab讓開發團隊對他們的代碼倉庫擁有更多的控制,相比于GitHub,它有不少的特色:允許免費設定倉庫權限;允許用戶選擇分享一個project的部分代碼;允許用戶設定project的獲取權限,進一步的提升安全性,最重要的是,代碼在自已的服務器上,別人拿不到,
-
總結:從代碼私有性方面來看,有時公司并不希望員工獲取到全部的代碼,這個時候GitLab無疑是更好的選擇,但對于開源專案而言,GitHub依然是代碼托管的首選,
git相關概念:
| git | 是一種版本控制系統,是一個命令,是一種工具 |
|---|---|
| gitlib | 是用于實作git功能的開發庫 |
| github | 是一個基于git實作的在線代碼托管倉庫,包含一個網站界面,向互聯網開放 |
| gitlab | 是一個基于git實作的在線代碼倉庫托管軟體,一般用于在企業內部網路搭建git私服 |
注: gitlab-ce 社區版 ; gitlab-ee是企業版,收費
1.4 搭建GitLab平臺
實驗環境: centos7 虛擬機最少需要6G記憶體,不然后期運行時,記憶體不夠用,直接報錯, 我這里給8G
1.安裝Gitlab需要的組件:
[root@xuegod63 ~]# yum install curl policycoreutils-python openssh-server openssh-clients postfix -y
默認,使用 Postfix 發送郵件
[root@xuegod63 ~]# systemctl enable postfix && systemctl start postfix
[root@xuegod63 ~]# iptables -F #清空規則
[root@xuegod63 ~]# systemctl stop firewalld && systemctl disable firewalld
禁止防火墻,就不用執行下面兩條命令:
[root@xuegod63 ~]#firewall-cmd --permanent --add-service=http
[root@xuegod63 ~]#systemctl reload firewalld
2 安裝gitlab
下載gitlab的兩種方法:
方法1:使用yum下載太慢,直接使用迅雷下載以下鏈接:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.9.3-ce.0.el7.x86_64.rpm
上傳到gitlab-ce-13.9.3-ce.0.el7.x86_64.rpm到linux系統上
[root@xuegod63 ~]# rpm -ivh gitlab-ce-13.9.3-ce.0.el7.x86_64.rpm #安裝
方法2:配置yum源,使用yum安裝:
[root@xuegod63 ~]# yum install gitlab-ce -y #安裝太慢,下面使用清華的源:
[root@xuegod63 ~]# cd /etc/yum.repos.d/
[root@xuegod63 yum.repos.d]# vim gitlab-ce.repo #寫入以下內容
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
[root@xuegod63 ~]# yum install gitlab-ce -y
3 配置gitlab訪問地址:
[root@xuegod63 ~]# vim /etc/gitlab/gitlab.rb #修改gitlab外部訪問地址
改:32 external_url ‘http://gitlab.example.com’
為:32 external_url ‘http://192.168.1.63’
注:這里必須修改,不然后后期訪問時,用戶到地址是:http://gitlab.example.com/xxxx ,根本不能訪問, 修改后獲得是: http://192.168.1.63/xxxx
4 應用新配好的配置并重啟GitLab
[root@xuegod63 ~]# gitlab-ctl reconfigure #重新配置應用程式,修改了gitlab服務組態檔后,都需要執行一下這個命令,
讓各個服務的組態檔,重新加載一下組態檔,這里等個2分鐘左右,
,,,
Running handlers:
Running handlers complete
Chef Client finished, 2/501 resources updated in 37 seconds
gitlab Reconfigured!
[root@xuegod63 ~]# gitlab-ctl status #可以使用gitlab-ctl管理gitlab,例如查看gitlab狀態:
run: gitlab-workhorse: (pid 3275) 169s; run: log: (pid 3151) 280s
run: logrotate: (pid 3169) 273s; run: log: (pid 3168) 273s
run: nginx: (pid 3157) 279s; run: log: (pid 3156) 279s
run: postgresql: (pid 3009) 349s; run: log: (pid 3008) 349s
run: redis: (pid 2926) 360s; run: log: (pid 2925) 360s
run: sidekiq: (pid 3142) 287s; run: log: (pid 3141) 287s
run: unicorn: (pid 3110) 293s; run: log: (pid 3109) 293s
[root@xuegod63 config]# netstat -antup | grep :80
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 10864/unicorn maste
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10729/nginx: master
默認使用nginx做為web服務器,
注:如果后期web界面訪問時,總報502,另外記憶體要大于4G,不然后記憶體不足,也報502

[root@xuegod63 ~]# iptables -F #清空規則
[root@xuegod63 ~]# free -m #已經使用4G以上記憶體
total used free shared buff/cache available
Mem: 5817 4187 133 80 1496 1198
5 登錄gitlab
http://192.168.1.63
第一次登錄gitlab,需要為root用戶修改密碼,root用戶也是gitlab的超級管理員,輸入新密碼:xuegod.cn ,密碼需要復雜些,才可以的

如果密碼太簡單,將報錯:

改成密碼后, 登錄一下:
使用root用戶和剛才創建的密碼登錄gitlab:
登錄: http://192.168.1.63/ 用戶名: root 密碼; xuegod.cn


到此,gitlab搭建成功,
2 配置gitlab郵件服務和對gitlab平臺漢化
2.1 管理gitlab服務
關閉gitlab: # gitlab-ctl stop
啟動gitlab: # gitlab-ctl start
重啟gitlab: # gitlab-ctl restart
gitlab主組態檔:/etc/gitlab/gitlab.rb //可以自定義一些郵件服務等
日志地址:/var/log/gitlab/ // 對應各服務
服務地址:/var/opt/gitlab/ // 對應各服務的主目錄
倉庫地址:/var/opt/gitlab/git-data //記錄專案倉庫等提交資訊
重啟服務:gitlab-ctl stop/start/restart //啟動命令
2.2 配置gitlab郵件服務
配置郵箱服務的用途:當有合并請求時,賬號注冊,修改密碼時,可通過郵件通知 ?,郵件驗證 ,?郵件修改實作
1.開啟郵箱的SMTP服務
設定–>POP3/ smtp–>開啟一下,開啟后,回傳授權碼,保存好授權碼


2. 編輯/etc/gitlab/gitlab.rb檔案,配置STMP郵件發送服務,前提你的郵件已經開通stmp/pop3收發功能
[root@xuegod63 ~]# vim /etc/gitlab/gitlab.rb #在89行后,插入以下內容:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "jianmingbasic@163.com"
gitlab_rails['smtp_password'] = "自己郵箱授權碼,不是郵箱帳號的密碼"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'jianmingbasic@163.com'
重新配置gitlab:
[root@xuegod63 ~]# gitlab-ctl reconfigure
3 通過命令列測驗郵件是否發送成功(也可以不測)
[root@xuegod63 ~]# gitlab-rails console #稍等幾秒到十幾秒,然后出現腳本輸入區域
Loading production environment (Rails 4.2.8)
irb(main):001:0> #這是提示符
然后再輸入測驗腳本:
irb(main):001:0> Notify.test_email('jianmingbasic@163.com', '郵件主題Message Subject', '郵件正文Message Body')
.deliver_now
注:腳本格式為:Notify.test_email(‘接收方郵件地址’,‘郵件主題’,‘郵件內容’).deliver_now

irb(main):004:0> exit
查看郵件:

2.3 漢化gitlab
最新版本中gitlab添加了語言功能,舊版本需要手工漢化,新版本只需修改配置即可,

修改后重繪頁面即可完成漢化,
2.4 關閉gitlab注冊功能
默認情況下可以直接注冊賬號,
以root用戶登錄:http://192.168.1.63/users/sign_in
點Admin area -》 setting -》General-》Expand, 取消這兩項標簽前對勾

在此網頁的最后,點save changes:

測驗,使用無痕瀏覽器進行登錄,發已經關閉了注冊功能:
http://192.168.1.63/

3 gitlab日常使用方法
3.1 新建專案
- 新建專案前,先創建專案所在的組(也就是說這個專案檔案是保存在哪個組里)
選擇Admin area

- 新建群組
http://192.168.1.63/admin/groups

組描述內容:xuegod web 開發組

權限選擇這個:


- 選擇Create New Projcet ,然后在輸入專案名稱,同時在namespace里選擇剛才創建的組
www.xuegod.cn web 代碼

現在gitlab創建專案時已經支持匯入專案了,方便企業進行專案遷移,

創建專案:xuegod-web ,專案描述: www.xuegod.cn web 代碼

注:這里只能選擇私有的,因為之前xuegod群組已經指定了私有權限,

注:稍后我們會設定一個公鑰,這樣就可以無互動,直接上傳或下載代碼了,就像ssh無密鑰登錄一樣,這樣方便后期進行jenkins自動部署
3.2 創建用戶
- 管理中心-用戶-新建用戶

- Username是登錄用戶名,一般可以設定成郵箱的前綴,Email為公司郵箱,角色設定為管理員

將新創建的用戶,加入到xuegod群組中,并給一個owner權限, 只要加入到xuegod群組中,后期才能訪問xuegod群組中的git專案

添加用戶到群組,角色為Owner所有者

3.3 重置新創建的用戶的密碼
登錄郵件:jianmingbasic@163.com

點開設定自己的初始密碼:密碼必須8位以一上,我的密碼是: xuegod.cn

生成密碼后,登錄:

方法2: 當用戶忘記密碼或者想給用戶指定一個密碼,以root管理員帳號直接修改密碼
- 選擇Admin area -》用戶-》選中用戶-》編輯

設定新的密碼是: xuegod.cn


- 使用jianmingbasic登錄http://192.168.1.63/ 密碼:xuegod.cn

登錄后續修改密碼,此功能用于密碼找回等操作,所以臨時修改密碼后還是需要用戶自行修改密碼,

3.4 洗掉用戶
當對方離職時候,為了安全起見,需要洗掉對方的gitlab權限,避免機密資訊丟失,操作方法如下:
- 選擇管理中心 ,選擇User,洗掉用戶 , 我們這里先不洗掉,后期要用

注:如果想把用戶和貢獻都洗掉,就選擇下面這個,
再次輸入一下要洗掉的用戶名,然后洗掉,注:我們先不洗掉,因為后期還要使用,這個用戶

- 修改用戶在組中的權限
把用戶jianmingbasic添加到xuegod組中,身份選擇"主程式員",這樣后期就可以提交代碼了,選擇“開發人員”會沒有權限提交代碼,

maintainer #維護者 ,應該翻譯主程式員,

3.5 在專案中添加一個檔案


添加檔案:index.html
http://192.168.1.63/xuegod/xuegod-web


創建index.html




4 git客戶端使用技巧
4.1 安裝git并clone代碼
[root@xuegod63 ~]# yum install git -y
#下載地址,可以從這里獲得

[root@xuegod63 ~]# git clone http://192.168.1.63/xuegod/xuegod-web.git
正克隆到 'xuegod-web'...
Username for 'http://192.168.1.63': jianmingbasic
Password for 'http://jianmingbasic@192.168.1.63': xuegod.cn
[root@xuegod63 ~]# cd xuegod-web/
[root@xuegod63 xuegod-web]# ls
index.html
注:后期可以部署ssh 公鑰,實作不輸入密碼直接下載和上傳代碼,
4.2 初次運行 Git 前的配置
一般在新的系統上,我們都需要先配置下自己的 Git 作業環境,配置作業只需一次,以后升級時還會沿用現在的配置,
第一個要配置的是你個人的用戶名稱和電子郵件地址,這兩條配置很重要,每次 Git 提交時都會參考這兩條資訊,說明是誰提交了更新,所以會隨更新內容一起被永久納入歷史記錄,
git運行的環境變數有點像.bashrc,決定了 Git 在各個環節的具體作業方式和行為,這些變數可以存放在以下兩個的地方:
1. ~/.gitconfig 檔案:用戶目錄下的組態檔只適用于該用戶,
例1:修改用戶資訊
[root@xuegod63 ~]# git config --global user.name "jianmingbasic"
[root@xuegod63 ~]# git config --global user.email "jianmingbasic@163.com"
[root@xuegod63 ~]# cat ~/.gitconfig #上面兩條命令會生成~/.gitconfig
[user]
email = jianmingbasic@163.com
name = jianmingbasic
2. 當前專案.git目錄中的組態檔(也就是作業目錄中的 .git/config 檔案):
這里的配置僅僅針對當前專案有效,每一個級別的配置都會覆寫上層的相同配置,所以 .git/config 里的配置會覆寫 ~/.gitconfig中的同名變數,
如果要在某個特定的專案中使用其他名字或者郵件地址,先進到專案上下,然后只要去掉 --global 選項重新配置即可, 最后配置的用戶和郵件地址會保存在當前專案的 .git/config 檔案里,
例:修改某個git專案下的環境變數
[root@xuegod63 xuegod-web]# cd xuegod-web/
[root@xuegod63 xuegod-web]# vim ./.git/config #先查看一下,里面沒有user.name和user.email
[root@xuegod63 xuegod-web]# git config user.name "jianmingbasic"
[root@xuegod63 xuegod-web]# git config user.email "jianmingbasic@163.com"
[root@xuegod63 .git]# vim ./.git/config
...
[user] #新增加了,以下內容
name = jianmingbasic
email = jianmingbasic@163.com
4.3 git常用命令
| git config --global user.name “name“ | #設定全域用戶名 |
|---|---|
| git config --global user.email mail | #設定全域郵箱 |
| git config --global --list | #列出用戶全域設定 |
| git add index.html | #添加檔案到暫存區 |
| git commit -m “描述內容“ | #提交檔案到作業區 |
| git status | #查看作業區的狀態 |
| git push | #提交代碼到git服務器上 |
| git pull | #獲取代碼到本地 |
| git log | #查看操作日志 |
| vim .gitignore | #定義忽略檔案 |
| git reset --hard HEAD^ | #git版本回滾, HEAD為當前版本,加一個為上一個,^為上上一個版本 |
| git reflog | #獲取每次提交的ID,可以使用–hard根據提交的ID進行版本回退 |
| git reset --hard 5ae4b06 | #回退到指定id的版本 |
| git branch | #查看當前所處的分支 |
| git checkout | #切換到指定分支或標簽 |
詳細使用方法可以參考如下圖:

例:把修改過的index.html檔案更新主版本中
[root@xuegod63 test]# cd /root/xuegod-web/
[root@xuegod63 xuegod-web]# echo "bbs.xuegod.cn" >> index.html
[root@xuegod63 xuegod-web]# git add index.html #添加檔案到暫存區
[root@xuegod63 xuegod-web]# git commit -m "add bbs.xuegod.cn" #提交檔案到作業區
[root@xuegod63 xuegod-web]# git push #上傳到git服務器
origin [??r?d??n] 起源,根
Username for 'http://192.168.1.63': jianmingbasic
Password for 'http://jianmingbasic@192.168.1.63': xuegod.cn
[root@xuegod63 xuegod-web]# git config --global push.default simple #不再顯示本資訊并從現在開始采用新的使用習慣
[root@xuegod63 xuegod-web]# rm -rf index.html #洗掉一些代碼
[root@xuegod63 xuegod-web]# git reset --hard HEAD #回滾到最新版本
[root@xuegod63 xuegod-web]# ls
[root@xuegod63 xuegod-web]# git reflog #獲取每次提交的ID
9c1e21a HEAD@{0}: commit: aaa
cd9d1d5 HEAD@{1}: commit: add bbs
b2866fd HEAD@{2}: clone: from http://192.168.1.63/xuegod/xuegod-web.git
4.4 作業區和暫存區及分支概述
- 作業區就是編輯檔案的目錄區域,需要將作業區的修改好的檔案使用add添加到暫存區才能提交到git服務器,在作業區有多個檔案的時候可以將一個或多個檔案添加至暫存區,再提交到git服務器即可,
- 在服務器創建分支
[root@xuegod63 xuegod-web]# git branch bbs #創建一個分支
[root@xuegod63 xuegod-web]# git checkout bbs #切換到分支bbs,進行代碼管理
[root@xuegod63 xuegod-web]# git branch #查看當前所處的分支
[root@xuegod63 xuegod-web]# echo aaa > a.txt #隨意在里面寫一些內容
[root@xuegod63 xuegod-web]# git add a.txt #添加到git的暫存區
[root@xuegod63 xuegod-web]# git commit -m "add a.txt" #提交到git的作業區中
[root@xuegod63 xuegod-web]# git push -u origin bbs #上傳到git服務器上(先創建bbs分支,然后上傳代碼)
注:-u origin 是什么? 如下:
[root@xuegod63 xuegod-web]# vim /root/xuegod-web/.git/config
[remote "origin"]
url = http://192.168.1.63/xuegod/xuegod-web.git #這就是origin的git地址
fetch = +refs/heads/*:refs/remotes/origin/*
然后在web界面查看分支:

將bbs分支的內容,合并到master上:
[root@xuegod63 xuegod-web]# git checkout master #切換到分支 'master'
[root@xuegod63 xuegod-web]# git merge bbs # 將bbs分支中的內容合并到master
注:merge 英 [m?:d?] 合并
[root@xuegod63 xuegod-web]# ls #已經看到bbs分支中的a.txt
a.txt index.html
[root@xuegod63 xuegod-web]# git push #提交到git服務器上
Username for 'http://192.168.1.63': jianmingbasic
Password for 'http://jianmingbasic@192.168.1.63': xuegod.cn
查看gitlab上,已經有a.txt

5 搭建Jenkins實作持續集成
5.1 安裝JDK1.8
Jenkins是Java撰寫的,所以需要先安裝JDK,這里采用yum安裝,如果對版本有需求,可以直接在Oracle官網下載JDK,
[root@xuegod63 ~]# yum install -y java-1.8.0-openjdk #光碟鏡像中有,也可以rpm直接安裝
5.2 安裝jenkins
官方下載地址:https://jenkins.io/zh/download/

方法1:直接上傳jenkins-2.222.1-1.1.noarch.rpm到linux上
[root@xuegod63 ~]# rpm -ivh jenkins-2.222.1-1.1.noarch.rpm
方法2:在線安裝
[root@xuegod63 ~]# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat/jenkins.repo
[root@xuegod63 yum.repos.d]# rpm --import http://pkg.jenkins.io/redhat/jenkins.io.key
[root@xuegod63 yum.repos.d]# yum install -y jenkins #安裝jenkins
新版jenkins的服務埠為8080,為了不和GitLab的服務埠相沖突,修改Jenkins的默認埠8080為198
[root@xuegod63 config]# netstat -antup | grep :80
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 10864/unicorn maste
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 10729/nginx: master
[root@xuegod63 yum.repos.d]# vim /etc/sysconfig/jenkins
改:29 JENKINS_USER="jenkins"
為:29 JENKINS_USER="root" #以root
改:56 JENKINS_PORT="8080"
為:56 JENKINS_PORT=" 198 "
[root@xuegod63 ~]# systemctl restart jenkins #啟動
[root@xuegod63 ~]# systemctl enable jenkins #設定開機啟動
修改jenkins默認源
在web界面訪問jenkins時,默認會到國外的網站下載hudson.model.UpdateCenter.xml檔案,而這個檔案在中國下載時很慢,需要換成清華的源,
清華jenkins源:https://mirrors.aliyun.com/jenkins/updates/update-center.json
[root@xuegod63 ~]# sed -i 's/https:\/\/updates.jenkins.io\/update-center.json/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins\/updates\/update-center.json/g' /var/lib/jenkins/hudson.model.UpdateCenter.xml
5.3 訪問Jenkins并安裝相關插件
[root@xuegod63 jenkins]# iptables -F # 要清空防火規則,還要關閉selinux
開始正常使用:http://192.168.1.63:198 #打開后,需要耐心等待10分鐘左右


我們前面雖然修改了默認從清華下載default.json檔案,但是檔案內容和官方是沒有區別的,聯網檢測是通過google.com進行檢測,所有的插件地址也都是指向官方源,國內源雖然提供了default.json下載,但是并不能修改源中的任何配置,我們替換default.json中的國外地址為清華的地址,這樣就可以通過清華下載所有插件了,
修改插件地址:
[root@xuegod63 ~]# sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g'
/var/lib/jenkins/updates/default.json
修改聯網檢測地址:
[root@xuegod63 ~]# sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' /var/lib/jenkins/updates/default.json
修改后重啟生效
[root@xuegod63 ~]# systemctl restart jenkins
為了安全考慮,首先需要解鎖Jenkins
[root@xuegod63 ~]# cat /var/lib/jenkins/secrets/initialAdminPassword #查看初始化密碼檔案,
f00b76dece1d416ba50346f21cf937d9 #把密碼輸入以一下頁面,點continue ,

選擇需要安裝的插件:
選擇默認即可,會安裝通用的社區插件,剩下的可以在使用的時候再進行安裝,


注:這個安裝時,需要從外網下載插件,需要20分鐘
如果安裝失敗,就點一下重試:

如果點重試,還是失敗,那就點 “繼續”,等安裝成后,再手動下載插件進行安裝,

創建管理員用戶:admin 密碼: 123456 全名: mk 郵箱:jianmingbasic@163.com




到此jenkins安裝成功,
注:關機后,創建一個虛擬機快照
5.4 手動安裝相關插件
如果在線安裝插件失敗了,或是無網環境下想安裝插件,可以選擇手動安裝,

這里不用管,點繼續,等安裝成功后,我們再手動安裝插件,
在這里找到自己要下載的插件的名字和版本號:

在這里下載:
插件下載地址:
http://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/
或
http://updates.jenkins-ci.org/download/plugins/
比如我要下載:gitlab-api,版本是:1.0.6
下載: https://mirrors.tuna.tsinghua.edu.cn/jenkins/plugins/gitlab-api/1.0.6/
#在有網的環境下,把自己需要的插件下載好,然后再從本地上傳,
上傳插件,選擇:系統管理->插件管理->高級





方法2: 也可以直接把一臺安裝好jenkins插件服務器的/var/lib/jenkins/plugins目錄下的檔案復制到新的jenkins中,
實驗環境:xuegod64是一臺已經安裝好jenkins服務的服務器,xuegod63因為網路的原因,沒有安裝好插件,現在要把xuegod64上的插件安裝到xuegod63上,
- 將xuegod64上的插件打包
[root@xuegod64 ~]# cd /var/lib/jenkins
[root@xuegod64 jenkins]# tar czvf jenkins-2.150.2-plugins.tar.gz plugins/ #把安裝好的插件打包
- 將xuegod64上的jenkins-2.150.2-plugins.tar.gz上傳到xuegod63的/root/目錄下
[root@xuegod63 ~]# cd /var/lib/jenkins/
[root@xuegod63 ~]# rm -rf /var/lib/jenkins/plugins/ *
[root@xuegod63 ~]# tar zxvf jenkins-2.150.2-plugins.tar.gz -C /var/lib/jenkins/plugins/ #把插件解出來
[root@xuegod63 ~]# /etc/init.d/jenkins restart
注:記得重啟jenkins,這個非常重要,因為不重啟,插件不會生效
登錄gitlab http://192.168.1.63/ 用戶名: root 密碼: xuegod.cn
登錄jenkins http://192.168.1.63:198/ 用戶名: admin 密碼: 123456
注:關機后,創建一個虛擬機快照
到處GitLab與Jenkins結合構建持續集成(CI)環境結束
小伙伴們想要獲取該文章的學習視頻+筆記 請添加我們小姐姐即可

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/290878.html
標籤:其他
上一篇:資料結構和演算法(初涉)
