容器云管理平臺CI/CD項目二----GitLab+Jenkins+Maven+Tomcat java代碼上線

容器云管理平臺CI/CD GitLab+Jenkins+Maven+Tomcat
主機規(guī)劃

名稱 IP 端口 服務(wù)
docker 10.0.0.6 8085 rancher 平臺
docker2 10.0.0.7 開啟很多映射端口 rancher 客戶機
docker2 10.0.0.7 8888 tomcat
docker2 10.0.0.7 8889 gitlab
docker2 10.0.0.7 8810 jenkins

一、rancher服務(wù)端部署

拉取鏡像:
docker pull rancher/server
運行容器:
docker run -p 8080:8080 -d --restart=always --name rancher rancher/server
瀏覽器訪問:ip:8080


Snipaste_2020-03-08_20-58-11.jpg

創(chuàng)建賬號


Snipaste_2020-03-08_21-04-46.jpg

添加環(huán)境
Snipaste_2020-03-08_21-05-17.jpg

Snipaste_2020-03-08_21-05-46.jpg

Snipaste_2020-03-08_21-06-08.jpg

切換到test環(huán)境下,選擇基礎(chǔ)架構(gòu)-->主機
Snipaste_2020-03-08_21-07-04.jpg

Snipaste_2020-03-08_21-07-19.jpg
Snipaste_2020-03-08_21-07-36.jpg
Snipaste_2020-03-08_21-08-28.jpg

在客戶端部署


Snipaste_2020-03-08_21-08-55.jpg

點擊關(guān)閉即可看到添加的主機


Snipaste_2020-03-08_21-10-23.jpg

點擊主機名字進入詳細信息


Snipaste_2020-03-08_21-10-56.jpg

容器功能


Snipaste_2020-03-08_21-11-24.jpg

二 gitlab部署

Snipaste_2020-03-08_21-14-31.jpg

選擇gitlab


Snipaste_2020-03-08_21-15-02.jpg

Snipaste_2020-03-08_21-15-22.jpg

Snipaste_2020-03-08_21-17-15.jpg
Snipaste_2020-03-08_21-17-43.jpg

查看:應(yīng)用-->gitlab-->gitlab-server


Snipaste_2020-03-08_21-21-08.jpg

Snipaste_2020-03-08_21-21-43.jpg

容器操作


Snipaste_2020-03-08_21-22-12.jpg

端口


Snipaste_2020-03-08_21-22-53.jpg

訪問結(jié)果

Snipaste_2020-03-08_21-23-21.jpg

主機中管理
Snipaste_2020-03-08_21-23-55.jpg

拉取項目
https://gitee.com/94fzb/zrlog

Snipaste_2020-03-08_21-24-26.jpg

三 Tomcat部署

選擇主機


Snipaste_2020-03-08_21-25-20.jpg

Snipaste_2020-03-08_21-25-33.jpg

Snipaste_2020-03-08_21-25-55.jpg

訪問


Snipaste_2020-03-08_21-26-11.jpg

四 安裝jenkins

應(yīng)用商店 搜索 jenkins


image.png

更改端口 (因為rancher 占用了8080)


image.png
Snipaste_2020-03-06_11-11-55.jpg
Snipaste_2020-03-06_11-12-41.jpg

會有三個容器:
第一個容器是 jenkins 服務(wù)
第二個是 給 1000 權(quán)限 (如果不給,會有權(quán)限問題)
第三個 是 安裝jenkins插件

Snipaste_2020-03-06_11-13-24.jpg

點擊訪問


Snipaste_2020-03-08_18-45-45.jpg
Snipaste_2020-03-08_18-47-08.jpg

解決訪問不了的問題
進入第一個容器內(nèi)執(zhí)行

image.png

image.png

執(zhí)行命令
whereis jenkins
cd /usr/share/jenkins
/usr/local/bin/jenkins.sh
image.png

再次訪問
用戶名 admin
(在此處查看密碼) 密碼 cat /var/lib/docker/jenkins-ci/secrets/initialAdminPassword

五 對jenkins 的操作

5.1 對 Jenkins 進行升級

Snipaste_2020-03-08_20-16-09.jpg

Snipaste_2020-03-08_20-16-41.jpg

應(yīng)該選擇latest
Snipaste_2020-03-08_20-16-56.jpg

Snipaste_2020-03-08_20-17-26.jpg

docker exec -it -u root e273ac9fdcb2 bash(root用戶進入jenkins容器)
cd /usr/share/jenkins
mv jenkins.war jenkins.war.bak (備份)
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/latest/jenkins.war
Snipaste_2020-03-08_20-25-12.jpg

5.2 修改 Jenkins 源為清華源,下插件快

一 顯示頁面
cd /var/lib/docker/jenkins-ci
vim hudson.model.UpdateCenter.xml
######################
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url> (改為清華源)
  </site>
</sites>
#######################

二  加速插件下載
cd /var/lib/docker/jenkins-ci/updates
cp default.json default.json.bak

(替換  default.json 中的源)
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json
&& sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json


退出容器,重啟
docker restart Jenkins 容器_id

六 進入 Jenkins 并進行配置
賬戶:admin
密碼:cat /var/lib/docker/jenkins-ci/secrets/initialAdminPassword


Snipaste_2020-03-08_21-49-47.jpg

6.1 安裝插件
下載插件時可能有一些重要的插件無法下載,所以我們需要去更新一下容器內(nèi)部環(huán)境
apt-get update

Snipaste_2020-03-08_21-50-57.jpg

Snipaste_2020-03-08_21-51-19.jpg

Snipaste_2020-03-08_21-52-40.jpg

Gitlab 、 Gitlab Hook 、 Gitlab Authentication 、 Publish Over SSH
Maven Integration plugin 、 Build Authorization Token Root

Snipaste_2020-03-08_21-53-27.jpg

6.2 全局配置
1 jdk 環(huán)境

進入容器 找jdk
一般 jdk 都在 /usr/lib/jvm/下 找


Snipaste_2020-03-08_21-54-41.jpg
Snipaste_2020-03-08_21-57-22.jpg

2 git
進入容器 輸入 whereis git
root@jenkins-ci-jenkins-primary-1:/usr/local# whereis git
git: /usr/bin/git /usr/share/man/man1/git.1.gz


Snipaste_2020-03-08_21-58-30.jpg

3 maven
Maven 默認是沒有安裝的,要先進入容器部署maven
docker exec -it -u root e273ac9fdcb2 bash
a、下載安裝包并解壓. 進入容器 到 /usr/local 目錄里
cd /usr/local
wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
tar -xf apache-maven-3.5.4-bin.tar.gz
mv apache-maven-3.5.4 /usr/local/maven
b、設(shè)置環(huán)境變量
apt-get install vim -y
vim /etc/profile
###########
export M2_HOME=/usr/local/maven
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$M2_HOME/bin:$PATH
###########

Snipaste_2020-03-08_11-56-00.jpg

source /etc/profile
c、測試:mvn -v
root@jenkins-ci-jenkins-primary-1:~# mvn -v
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-
17T18:33:14Z)
Maven home: /usr/local/maven
Java version: 1.8.0_151, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-
openjdk-amd64/jre
Default locale: en, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"

在進入全局配置maven
root@jenkins-ci-jenkins-primary-1:~# whereis maven
maven: /usr/local/maven


Snipaste_2020-03-08_22-07-08.jpg

Snipaste_2020-03-08_22-07-59.jpg

6.3 系統(tǒng)配置
因為我們要用 Publish Over SSH 這個插件
在 ssh server 處 配置 tomcat

Snipaste_2020-03-08_22-10-27.jpg

Snipaste_2020-03-08_22-10-56.jpg
Snipaste_2020-03-08_22-11-08.jpg

在 高級處 填寫密碼
如上圖 最后還有個 測試 配置文件 點擊 , 出現(xiàn)sucesss 表示連接成功


Snipaste_2020-03-08_22-11-50.jpg

七 Jenkins 創(chuàng)建 maven 項目


Snipaste_2020-03-08_22-14-53.jpg

Snipaste_2020-03-08_22-15-22.jpg

Snipaste_2020-03-08_22-15-51.jpg
Snipaste_2020-03-08_22-16-21.jpg
Snipaste_2020-03-08_22-16-43.jpg
Snipaste_2020-03-08_22-16-58.jpg
Snipaste_2020-03-08_22-17-15.jpg
Snipaste_2020-03-18_09-28-34.jpg
Snipaste_2020-03-08_22-18-19.jpg
Snipaste_2020-03-08_22-38-01.jpg

Tomcat端查看


Snipaste_2020-03-08_22-38-56.jpg

最終構(gòu)建成功,項目被打包成 war 包推送在
tomcat 的目錄下

問題.構(gòu)建Jenkins任務(wù)時候下載jar包過慢
解決:更換阿里源


Snipaste_2020-03-08_22-40-05.jpg

Snipaste_2020-03-08_22-40-37.jpg

Snipaste_2020-03-08_22-41-41.jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容