公司頁面設(shè)計圖片寧波seo網(wǎng)絡(luò)推廣咨詢價格
【Jenkins】持續(xù)集成部署學(xué)習(xí)
- 【一】安裝部署
- 【1】Jenkins所處位置
- 【2】Docker安裝Gitlab
- (1)首先準備一臺空的虛擬機服務(wù)器
- (2)安裝服務(wù)器所需的依賴
- (3)Docker的安裝
- (4)阿里云鏡像加速
- (5)安裝Gitlab
- 【3】Gitlab使用
- (1)Gitlab創(chuàng)建項目
- (2)Idea工具創(chuàng)建本地倉庫
- (3)選擇此項目根目錄作為發(fā)布的倉庫
- (4)把項目ADD添加到git緩沖區(qū)
- (5)再將項目COMMIT提交到本地倉庫
- (6)把項目PUSH推送到遠程倉庫
- (7)查看commit的幾次,就是看版本
- (8)創(chuàng)建分支
- 【4】Docker安裝Jenkins
- 【5】Docker安裝Maven
- 【6】Jenkins使用
【一】安裝部署
【1】Jenkins所處位置
【2】Docker安裝Gitlab
(1)首先準備一臺空的虛擬機服務(wù)器
Gitlab用的端口是80,可能會跟其它應(yīng)用沖突,并且Gitlab所需內(nèi)存也很大,所以還是單獨放在一個服務(wù)器上比較好。
用原來空的虛擬機服務(wù)器克隆一個,注意內(nèi)存要選大一點,6G左右
(2)安裝服務(wù)器所需的依賴
(1)ip a / ip addr / ifconfig 不顯示ip問題
(3)Docker的安裝
(1)查看系統(tǒng)的內(nèi)核版本
uname -r 4.18.0-80.11.2.el8_0.x86_64
執(zhí)行命令:uname -r
注意:x86 64位系統(tǒng),如果是32位是不能安裝 docker 的
(2)yum更新到最新版本
sudo yum -y update
執(zhí)行命令:sudo yum update
注意:看到顯示 Complete 就代表完成了,整個過程需要 5-10 分鐘左右
更新gcc(C語言的編譯環(huán)境)
yum -y install gcc
yum -y install gcc-c++
(3)安裝Docker所需的依賴包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
執(zhí)行命令:sudo yum install -y yum-utils device-mapper-persistent-data lvm2
注意:看到顯示 Complete 就代表完成了,整個過程需要 1-3 分鐘左右
(4)設(shè)置Docker的yum的源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(5)更新yum軟件包索引
yum makecache fast
(6)查看倉庫所有Docker版本
yum list docker-ce --showduplicates | sort -r
(7)安裝Docker
安裝默認最新版本的Docker
yum -y install docker-ce docker-ce-cli containerd.io
(8)啟動Docker并添加開機自啟動
啟動Docker
sudo systemctl start docker
設(shè)置開機啟動Docker
systemctl enable docker
重啟docker
systemctl restart docker
停止docker
systemctl stop docker
(9)查看Docker版本
docker --version
(10)測試
ps -ef|grep docker
docker version
(11)卸載Docker
systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
(12)Docker常用命令
[root@CodeGuide ~]# docker --help #Docker幫助
[root@CodeGuide ~]# docker --version #查看Docker版本
[root@CodeGuide ~]# docker search <image> #搜索鏡像文件,如:docker search mysql
[root@CodeGuide ~]# docker pull <image> #拉取鏡像文件, 如:docker pull mysql
[root@CodeGuide ~]# docker images #查看已經(jīng)拉取下來的所以鏡像文件
[root@CodeGuide ~]# docker rmi <image> #刪除指定鏡像文件
[root@CodeGuide ~]# docker run --name <name> -p 80:8080 -d <image> #發(fā)布指定鏡像文件
[root@CodeGuide ~]# docker ps #查看正在運行的所有鏡像
[root@CodeGuide ~]# docker ps -a #查看所有發(fā)布的鏡像
[root@CodeGuide ~]# docker rm <image> #刪除執(zhí)行已發(fā)布的鏡像
(13)如何創(chuàng)建自啟動的容器
(1)還沒run創(chuàng)建容器的
使用 docker run 命令運行時,增加 --restart=always 參數(shù)即可
(2)已運行的容器修改其自啟動策略
執(zhí)行命令:
docker update --restart=always 容器名或容器ID
docker container update --restart=【容器策略】 容器名稱
# no 容器退出時不重啟容器
# on-failure 只有在非零狀態(tài)退出時才重新啟動容器
--restart=on-failure:【重啟次數(shù)】
# always 無論退出狀態(tài)如何都
(4)阿里云鏡像加速
(1)獲取阿里云加速器地址
登陸阿里云,點擊控制臺,然后點擊菜單,找到“容器鏡像服務(wù)”
創(chuàng)建個人容器鏡像托管服務(wù)
然后點擊鏡像工具,進入鏡像加速器,即可看到阿里云加速器地址,把這個加速器地址配置到docker容器里
(2)創(chuàng)建文件夾并執(zhí)行腳本
先創(chuàng)建文件夾
mkdir -p /etc/docker
執(zhí)行腳本
tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://xqybwad5.mirror.aliyuncs.com"]
}
EOF
(3)重新加載配置文件
systemctl daemon-reload
(4)重新啟動docker
systemctl restart docker
(5)查看 daemon.json 是否已經(jīng)生效了
tail /etc/docker/daemon.json
(5)安裝Gitlab
關(guān)閉所有防火墻
service firewalld status
service firewalld stop
重啟docker:systemctl restart docker
(1)拉取鏡像,創(chuàng)建容器
直接使用創(chuàng)建命令,系統(tǒng)會自動進行拉取
# 添加容器
docker run --detach \--hostname 192.168.19.8 \--publish 443:443 --publish 80:80 \--name gitlab \--restart always \--volume $GITLAB_HOME/config:/etc/gitlab \--volume $GITLAB_HOME/logs:/var/log/gitlab \--volume $GITLAB_HOME/data:/var/opt/gitlab \--shm-size 256m \registry.gitlab.cn/omnibus/gitlab-jh:latestgitlab/gitlab-ce:latest
(2)啟動容器
docker start gitlab
查看已經(jīng)存在的容器
docker ps -a
(3)進入容器
docker exec -it gitlab /bin/bash
(4)外網(wǎng)訪問測試
首先保證前面關(guān)閉防火墻
訪問下面連接(注意http不加s):http://192.168.19.8/
要稍微等一會
查看內(nèi)存使用情況
free -m
等內(nèi)存加載的差不多了,就可以打開網(wǎng)頁了
(5)管理員賬號密碼登錄
密碼是進入容器后查找的
cat /etc/gitlab/initial_root_password
登錄名是root,密碼直接復(fù)制過來使用
(6)修改默認密碼
啟動 gitlab-rails console要等一會
進入容器:
~/files/code/gitlab$ docker exec -it gitlab bash
啟動 gitlab-rails console:root@gitlab:/# gitlab-rails console
--------------------------------------------------------------------------------Ruby: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]GitLab: 14.7.2 (89599212ee6) FOSSGitLab Shell: 13.22.2PostgreSQL: 12.7
--------------------------------------------------------------------------------
Loading production environment (Rails 6.1.4.4)
irb(main):001:0> user =User.find(1)
=> #<User id:1 @root>
irb(main):002:0> user.password = '111111admin'
=> "111111admin"
irb(main):003:0> user.password_confirmation = '111111admin'
=> "111111admin"
irb(main):004:0> user.send_only_admin_changed_your_password_notification!
=> true
irb(main):005:0> user.save!
=> true
irb(main):006:0> exit
root@gitlab:/# exit
【3】Gitlab使用
(1)Gitlab創(chuàng)建項目
首先創(chuàng)建一個空白的項目
(2)Idea工具創(chuàng)建本地倉庫
在IDEA中創(chuàng)建好項目,點擊VCS,按照下圖指示先給項目創(chuàng)建本地Git倉庫
(3)選擇此項目根目錄作為發(fā)布的倉庫
(4)把項目ADD添加到git緩沖區(qū)
選擇最右側(cè)的 “add”
(5)再將項目COMMIT提交到本地倉庫
選擇最右側(cè)第一個 “Commit Directory…”
點擊之后,在彈窗里填寫備注信息
(6)把項目PUSH推送到遠程倉庫
URL復(fù)制下面這個
連接的時候輸入root和對應(yīng)的密碼就行了
這樣就可以提交上去了
更新項目的話,commit的時候選擇你修改的文件,push的時候,對應(yīng)的url就是你要更新項目倉庫的url。這樣,gitlab上面?zhèn)}庫里面的項目就是你選擇的文件進行修改了。也就是只是局部進行修改。
(7)查看commit的幾次,就是看版本
看到以上commit了3次;
我們想要回到某一次,我們可以右擊想要回到的版本
只要點擊了以上的這個,就回去了
【Checkout Revision】和【Reset Current Branch to Here】的區(qū)別?
(8)創(chuàng)建分支
我們想要在當前的項目的基礎(chǔ)上面,創(chuàng)建一個分支,相當于對于當前的項目復(fù)制一份,變?yōu)橐粋€分支
如何查看是不是切換過去了
idea右下角,就可以看到當前的項目在哪個分支
也可以直接在右下角進行點擊創(chuàng)建
【4】Docker安裝Jenkins
(1)拉取鏡像
docker pull jenkins/jenkins
(2)修改目錄權(quán)限
需要修改下目錄權(quán)限,因為當映射本地數(shù)據(jù)卷時,/data/jenkins_home/目錄的擁有者為root用戶,而容器中jenkins用戶的 uid 為 1000。我們創(chuàng)建一個jenkins目錄
# mkdir /var/jenkins_home
# chown -R 1000:1000 /var/jenkins_home/
(3)運行鏡像
docker run -d -p 10240:8080 -p 10241:50000 -v /var/jenkins_home:/var/jenkins_home -v /etc/localtime:/etc/localtime --name myjenkins jenkins/jenkins
(4)瀏覽器訪問Jenkins頁面
輸入http://192.168.XX.XX:10240
IP是服務(wù)器IP地址
端口號是我們剛剛設(shè)置的端口號
(5)獲取管理員密碼
vim /var/jenkins_home/secrets/initialAdminPassword
復(fù)制密碼然后登錄
(6)安裝插件
選擇安裝推薦的插件
(7)創(chuàng)建管理員
(8)實例配置
配置完成
http://192.168.19.7:10240/
(9)通過docker安裝的jenkins自帶git和JDK,就不需要再安裝了