IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 从0到1,使用docker 运行jenkins自动部署springboot项目 -> 正文阅读

[Java知识库]从0到1,使用docker 运行jenkins自动部署springboot项目

从0到1,使用docker 运行jenkins自动部署springboot项目

使用的终端有

tabby terminal			看起来比较好看,但是上传文件没有那么方便,个人感觉

SecureCRTPortable.exe 用于上传文件,可以复制粘贴,方便

大纲目录

1、配置jdk8

2、配置maven

3、安装docker

4、使用阿里云镜像服务

5、拉取java镜像

6、拉取jenkins镜像

7、新建文件夹,用于挂载jenkins

8、给文件夹权限

9、运行jenkins,并挂载maven,jdk,和刚刚新建的文件夹

10、docker logs jenkins 查看密码

11、安装插件

12、配置jenkins上的 ‘全局工具配置’ 两个setttings, jdk, maven

13、‘系统配置’ 进去后最下面配置ssh server 后面会用到

14、新建任务

15、配置任务

1、安装jdk

1、进入官网下载 jdk8
	https://www.oracle.com/java/technologies/downloads/#java8
	需要登录,未注册的注册就行
	或者使用我这个,永久有效
	链接:https://pan.baidu.com/s/1R9qADc4_VWlthFmk0WkCtQ 
    提取码:g8jx
2、上传到liunx服务器  /usr/local目录下
3、解压到当前目录 	
	tar -zxvf 压缩包名字
4、环境变量在第二步和maven一起配置

2、在liunx上安装maven

1、进入官网下载tar.gz的安装包,我这里下载的是apache-maven-3.8.5-bin.tar.gz
	https://maven.apache.org/download.cgi
2、上传到linux服务器上 (我上传的是在 /usr/local目录下)
3、使用tar命令解压到对应目录 (我解压到 /usr/local目录下)
	tar -zxvf apache-maven-3.8.5-bin.tar.gz
4、修改镜像源,并配置仓库
	因为其他电脑有settings文件,我直接拷贝的,所有已经配置了国内镜像,只需要修改仓库即可
5、解压后的文件在 /usr/local目录下,并且名字是apache-maven-3.8.5
6、由于jenkins是使用docker运行的,需要挂载目录才能使用,所以仓库是直接放在 apache-maven-3.8.5 目录下,否则无法使用仓库,后面执行jenkins任务时报错,本人因为这个困惑好久,后来才想起挂载目录问题
	在apache-maven-3.8.5 下 执行命令个,创建文件夹
	mkdir repository
7、将另一台电脑的repository文件夹压缩为 repository.zip。上传到 apache-maven-3.8.5 目录下
8、unzip repository.zip 解压即可 在当前目录就有了 repository文件夹
9、修改settings的仓库路径
10、进入 conf文件夹
	cd /usr/local/apache-maven-3.8.5/conf
	vim settings.xml
	按下 i ,进入insert模式
	找到下面那行修改为 如下模板即可
		<localRepository>/usr/local/apache-maven-3.8.5/repository</localRepository>
	按下 esc 退出编辑模式,按下 : (shift + ; 键),输入wq即可
11、或者在自己电脑修改好了,在直接上传也可以
12、配置环境变量
	vim /etc/profile
	按下 i , 进入 insert模式
	下面命令拷贝到最下面,退出编辑模式,输入wq保存
	export JAVA_HOME=/usr/local/jdk8u322-b06
    export JRE_HOME=/usr/local/jdk8u322-b06/jre
    export MAVEN_HOME=/usr/local/apache-maven-3.8.5
    export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$MAVEN_HOME/bin:$PATH
13、刷新配置文件
	source /etc/profile 
	
14、查看是否有问题
	测试jdk
	java -version
	出现这个即可
		openjdk version "1.8.0_322"
	
	测试maven
	mvn -version
	出现这个即可
		Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0)

在这里插入图片描述
在这里插入图片描述

3、安装docker

1、卸载旧版本
	sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2、sudo yum install -y yum-utils
3、sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
4、 sudo yum install docker-ce docker-ce-cli containerd.io
5、安装  sudo yum install docker-ce docker-ce-cli containerd.io
6、安装时出现询问时,输入y回车即可
7、安装完成后,启动docke 
	sudo systemctl start docker
8、配置使用阿里云镜像服务
	1、进入阿里云官网
		https://cr.console.aliyun.com/cn-hangzhou/instances
	2、搜索上选择 容器镜像服务
	3、进入控制台
	4、选择镜像加速器
	5、选择对应的liunx版本,拷贝代码粘贴运行即可(里面包含配置,并且重启docker)

在这里插入图片描述

4、安装jenkins、拉取jdk8镜像

1、输入命令拉取镜像
	docker pull jenkins/jenkins:lts 
	docker pull java:8
2、创建映射目录
	mkdir /usr/local/jenkins/
3、给目录权限,否则无法启动容器 (注意后面有一个/,如果没有的话,发现最后启动容器后还是没有运行到)
	chown -R 1000 /usr/local/jenkins/
4、运行jenkins
	docker run -di --name=jenkins -v /usr/local/jenkins:/var/jenkins_home -v /usr/local/apache-maven-3.8.5:/usr/local/apache-maven-3.8.5 -v /var/run/docker.sock:/var/run/docker.sock -v /usr/local/jdk8u322-b06:/usr/local/jdk8u322-b06 -e MAVEN_HOME=/usr/local/apache-maven-3.8.5 -p 8080:8080 jenkins/jenkins:lts

	挂载了maven,jdk。因为项目中使用到
	
5、访问 ip + 8080
6、出现提示输入密码后即可
7、由于使用docker 运行的,密码就在运行后的日志中
8、 docker logs jenkins、会输出如下信息。中间的就是密码

  Jenkins initial setup is required. An admin user has been created and a password generated.
  Please use the following password to proceed to installation:

  下面就是密码
  cb9f953b71b143f6815155e143a5ce34

  This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
 9、输入密码后继续
 10、安装东西,等待即可
 11、安装插件
 	1、点击系统管理,选择插件管理,选择可选插件,如下插件一个个安装即可
 	
 	Maven Integration、GitLab、Ansible、SaltStack、Parameterized Trigger、Build Pipeline、Publish Over SSH
 12、配置settings, 和 jdk,maven,ssh
 	1、点击系统管理,选择 全局工具配置
 	2、连个settings的配置就是他的位置
 	
 	3、JDK选择不是自动安装,因为我们已经安装过了
 		1、输入名字,自己喜欢
 		2、java_home。忘了话在liunx上输入 java -vesion。拷贝就行 根目录
 	4、maven选择不是自动安装
 		1、输入名字
 		2、maven_home,忘了输入mvn -version,拷贝输出打印的路径即可 根目录

在这里插入图片描述

在这里插入图片描述

5、配置ssh server

1、在系统管理中
2、选择系统配置
	说明:因为jenkins是docker 运行的,无法直接运行宿主的命令,所以打包后的脚本那些需要宿主机来执行
	这里通过 SSH 配置来执行

3、最下面配置 SSH servers
	1、输入name
	2、输入Hostname 就是ip  本台liunx的ip 
	3、输入username,用户名  
	4、点击右边的高级,输入密码
	5、点击测试出现 success即可
	6、点击最下面的保存即可

在这里插入图片描述

6、配置任务,自动部署

1、新建任务
2、选择 构建一个自由风格的软件项目
3、确定
4、源码管理
	1、选择git 
	2、拷贝项目的地址
	3、用户选择添加,输入用户名和密码即可 (ID,,描述随便输入)登录gitee的用户名和密码
	4、credentials选择刚刚新建的用户
5、构建触发器
	1、选择gitee webhook 
	2、点击生成后,出现一串字符串,拷贝它和上面的地址链接
	3、到gitee的对应项目上
		1、选择 webhook管理
		2、新建
		3、粘贴字符串,和地址即可
		4、保存
6、构建
	1、选择‘调用顶层maven目标’
	2、选择配置好的maven版本。(就是上面说到的配置的maven)
	3、目标输入以下命令
		clean package -Dmaven.test.skip=true  
		
7、构建后操作
	1、选择‘Send build artifacts over SSH’
	2、name选择配置好的ssh
	3、exec command  表示进入后执行的命令
		因为我写成了脚本,所以进入指定目录后执行脚本即可
		输入框输入以下命令即可
		cd /usr/local/apache-maven-3.8.5/shs
		./test3-2.sh
	4、点击保存
    5、点击立即构建
    6、点击次数进入详情
    7、点击控制台输出即可
8、回到liunx
	1、输入命令
		docker images
	2、多了脚本执行的镜像
	3、netstat -nplt	
		项目运行中了

在这里插入图片描述
在这里插入图片描述
最后脚本如下

# 源jar路径  
SOURCE_PATH=/usr/local/jenkins/workspace/test3/target 
# Dockerfile路径
DOCKER_FILE_PATH=/usr/local/jenkins/workspace/test3
# 容器id
CID=$(''docker ps | grep "people-healthy" | awk '{print $1}''')
echo $CID
# 运行docker容器
function run(){
  echo "开始构建镜像..."
  cd $DOCKER_FILE_PATH
  echo "当前路径如下"
  pwd
  # 构建前判断是否存在镜像,存在则删除
  if [ -n "$CID" ]; then
    echo "存在demo容器,CID=$CID,重启docker容器 ..."
    # 停止容器运行
    sudo docker stop $CID
    # 删除容器
    sudo docker rm $CID
    # 删除镜像
    sudo docker rmi people-healthy
    echo "删除镜像和容器成功,下面开始构建新镜像"
  else
    echo "不存在people-healthy容器,下面直接开始构建镜像"
  fi
  # 构建镜像
  docker build -t people-healthy .
  echo "创建容器成功"
  docker images
  # 杀死特定端口进程
  # mypid=$(netstat -apn|grep 9001|awk '{print $7}'|cut -d/ -f1);
  # echo $mypid
  # kill -9 $mypid
  docker run -d --restart=always --name people-healthy -p 9001:9001  people-healthy 
}
 
#入口
run

最后结语
如果这篇文章对你有帮助,请点个赞。嘻嘻

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 08:33:07  更:2022-04-30 08:36:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:49:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码