容器云管理平台CI/CD项目二----GitLab+Jenkins+Maven+Tomcat java代码上线

容器云管理平台CI/CD GitLab+Jenkins+Maven+Tomcat
主机规划

名称 IP 端口 服务
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服务端部署

拉取镜像:
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

创建账号


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

添加环境
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环境下,选择基础架构-->主机
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

点击关闭即可看到添加的主机


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

查看:应用-->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

访问结果

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

应用商店 搜索 jenkins


image.png

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


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

会有三个容器:
第一个容器是 jenkins 服务
第二个是 给 1000 权限 (如果不给,会有权限问题)
第三个 是 安装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

解决访问不了的问题
进入第一个容器内执行

image.png

image.png

执行命令
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

应该选择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 安装插件
下载插件时可能有一些重要的插件无法下载,所以我们需要去更新一下容器内部环境
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 环境

进入容器 找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、设置环境变量
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 系统配置
因为我们要用 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

在 高级处 填写密码
如上图 最后还有个 测试 配置文件 点击 , 出现sucesss 表示连接成功


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

七 Jenkins 创建 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

最终构建成功,项目被打包成 war 包推送在
tomcat 的目录下

问题.构建Jenkins任务时候下载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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容