容器云管理平台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
######################


  
    default
    https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json (改为清华源)
  

#######################

二  加速插件下载
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

你可能感兴趣的:(容器云管理平台CI/CD项目二----GitLab+Jenkins+Maven+Tomcat java代码上线)