1、持续化部署工具 jenkins
(1)手动打包运行过程
(2)使用jenkins实现完整过程
Jenkins(安装)
1、在liunx系统中安装相关软件
(1)安装java环境(jdk环境)
第一步 上传jdk安装介质
第二步 解压
第三步 配置环境变量
第四步 使用命令查看jdk是否安装成功
(2)安装maven环境
第一步 上传maven安装介质
第二步 解压
第三步 配置环境变量
第四步 使用命令查看maven是否安装成功
(3)安装Git环境
yum -y install git
(4)安装Docker
第一步:安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
第二步:添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第三步:更新并安装Docker-CE
yum makecache fast
yum -y install docker-ce
第四步:开启Docker服务
service docker start
第五步、测试是否安装成功
docker -v
2、安装jenkins
(1)把jenkins的war包上传到linux系统中
(2)启动war包,使用命令 java –jar(jenkins启动 + 日志输出命令)
nohup java -jar /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &
回车即可。
(3)访问jenkins管理页面
* 使用当前linux系统ip地址:8080端口号
* 首先进入初始化界面,需要多等一会,之后进入到下面界面
(4)解锁操作
* 找到管理员密码进行输入
- 查看提示文件内容,复制默认密码到输入框里面
- 点击继续
- 进入安装插件页面,不要往下进行了,下载插件会很慢,配置国内镜像,为了提高下载速度,关掉浏览器,去配置镜像
- 配置国内镜像
cd /root/.jenkins/updates #进入更新配置位置
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
- 重启jenkins,运行管理界面,安装插件
- 安装插件之后,插件管理员用户名和密码
- 安装完成。
Jenkins(配置)
配置自动化部署需要环境
配置jdk环境
配置maven环境
配置git环境
Jenkins(自动化过程)
1、准备工作
(1)需要项目工程,需要做修改
第一 项目需要Dockerfile文件
第二 在项目pom文件添加打包类型 和 maven插件
在jenkins管理界面创建自动化任务
把代码提交码云Git仓库里面
在作业创建页面指定代码位置
修改脚本路径,进行复制
(7)执行作业(任务)
* 需要docker启动起来
service docker start
或者
(8)点击Build Now执行任务
- 看到控制台日志输出
Jenkins(idea打包)
最后看到打包的结果
上述中的 docker脚本:
#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
cd ./infrastructure/eureka_server
service_name="eureka-server"
service_prot=8761
#查看镜像id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
then
echo "exist $SERVER_NAME image,IID=$IID"
#删除镜像
docker rmi -f $service_name
echo "delete $SERVER_NAME image"
#构建
docker build -t $service_name .
echo "build $SERVER_NAME image"
else
echo "no exist $SERVER_NAME image,build docker"
#构建
docker build -t $service_name .
echo "build $SERVER_NAME image"
fi
#查看容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
echo "exist $SERVER_NAME container,CID=$CID"
#停止
docker stop $service_name
#删除容器
docker rm $service_name
else
echo "no exist $SERVER_NAME container"
fi
#启动
docker run -d --name $service_name --net=host -p $service_prot:$service_prot $service_name
#查看启动日志
#docker logs -f $service_name