Jenkins 自动部署

2022-03-20 13:35:04 浏览数 (1)

环境:

  • JDK 1. 8
  • Maven
  • Docker
  • Git
  • CentOS 7

一、Jenkins(安装)

1、在liunx系统中安装相关软件

1.1 安装java环境(jdk环境)

​ 请参考我的这篇博客有详细的安装步骤:CentOS7 安装 JDK 8

​ 使用命令查看jdk是否安装成功

1.2 安装maven环境

第一步 上传maven安装介质

代码语言:javascript复制
cd /usr/local

下载地址:apache-maven-3.6.1-bin.tar.gz

第二步:解压安装包

代码语言:javascript复制
tar -zxvf apache-maven-3.6.1-bin.tar.gz

第三步:建立软连接

代码语言:javascript复制
ln -s /usr/local/apache-maven-3.6.1/ /usr/local/maven

第四步:修改环境变量

代码语言:javascript复制
vim /etc/profile

添加以下内容:

代码语言:javascript复制
export MAVEN_HOME=/usr/local/maven

export PATH=$PATH:$MAVEN_HOME/bin

通过命令source /etc/profile让profile文件立即生效

代码语言:javascript复制
source /etc/profile

第五步: 测试是否安装成功

代码语言:javascript复制
mvn –v
1.3 安装git
代码语言:javascript复制
yum -y install git
1.4 安装docker

第一步:安装必要的一些系统工具

代码语言:javascript复制
yum install -y yum-utils device-mapper-persistent-data lvm2

第二步:添加软件源信息

代码语言:javascript复制
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

第三步:更新并安装Docker-CE

代码语言:javascript复制
yum makecache fast

yum -y install docker-ce

第四步:开启Docker服务

代码语言:javascript复制
service docker start

第五步: 测试是否安装成功

代码语言:javascript复制
docker -v
1.5 安装Jenkins

第一步:上传或下载安装包

代码语言:javascript复制
cd /usr/local/jenkins

第二步:启动

代码语言:javascript复制
nohup java -jar /usr/local/jenkins/jenkins.war >/usr/local/jenkins/jenkins.out &

访问

  • http://ip:8080
1.6 解锁jenkins

获取管理员密码

代码语言:javascript复制
cat /root/.jenkins/secrets/initialAdminPassword
  • 进入安装插件页面,不要往下进行了,下载插件会很慢,配置国内镜像,为了提高下载速度,关掉浏览器,去配置镜像

配置国内镜像

代码语言:javascript复制
cd {你的Jenkins工作目录}/updates #进入更新配置位置

示例:

代码语言:javascript复制
# 这里根据我自己的路径示例,如果安装位置不同,请根据自己的情况
cd  /root/.jenkins/updates  #进入更新配置位置

运行以下指令,更新镜像

代码语言:javascript复制
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关闭,进程杀死,在进入安装目录进行更新镜像

代码语言:javascript复制
# 查询进程
ps -ef | grep jenkins
代码语言:javascript复制
# 杀死进程
kill -9 进程号

重启jenkins,运行管理界面,安装插件

安装插件之后,插件管理员用户名和密码

实例配置

安装完成

二、Jenkins(配置)

1、配置自动化部署需要环境

​ 选择 Manage Jenkins ==> Global Tool Configuration

2、配置jdk环境

JAVA_HOME 请根据自己情况来配置

3、配置maven环境

4、配置git环境

查看git安装路径which git

三、Jenkins(自动化过程)

1、准备工作

​ 拉取我已经修改好的项目:git clone https://gitee.com/oycodesite/demo-jenkins.git

检查 Dockerfile文件

检查 pom文件添加打包类型 和 maven插件

2、在jenkins管理界面创建自动化任务

新建

输入任务名称

把代码提交码云Git仓库里面 (或者使用我的Git仓库里面的)

修改脚本路径,进行复制

docker 脚本

代码语言:javascript复制
#!/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

修改:

代码语言:javascript复制
cd ./
service_name="demojenkins"
service_prot=8111

构建结构:

  • 第一列是 “上次构建状态显示”,是一个圆形图标,一般分为四种:
  • 蓝色:构建成功;
  • 黄色:不确定,可能构建成功,但包含错误;
  • 红色:构建失败;
  • 灰色:项目从未构建过,或者被禁用;

如上显示蓝色,表示构建成功。

注意:手动触发构建的时间与自动定时构建的时间互不影响。

3、执行任务

  • 需要docker启动起来 service docker start

点击Build Now执行任务

或者

看到控制台日志输出

测试

四、扩充 idea 打包

第一步

第二步

第三步: 选择JAR

第四步:选择Main Class

第五步: 看到以下信息后,点击ok

第六步: 构建

第七步

构建后的效果

0 人点赞