首页 > 其他分享 >工作总结之Jenkins篇

工作总结之Jenkins篇

时间:2022-12-22 23:44:52浏览次数:69  
标签:总结 name service -- echo 工作 address Jenkins docker

目录

复盘Jenkins的安装到项目构建调通

前言

之前有一篇文章大概的讲了一下Jenkins的安装配置,但是那篇文章的诞生背景比较特殊,原本是糊弄上级的文档,不够实在,还有一个原因,这个上级技术不过关,还整天喜欢哔哔赖赖,不干实事,这些都是题外话,吐槽一波。

安装

  1. 首先要注意版本
    笔者安装的是2.315配合java8使用,但是此版本有个小bug,在部署中的项目可能不会显示进度,需要刷新页面,可以尝试一下其他版本;除此之外,得注意一下jenkins的版本和java的版本,从某个版本开始最低的java版本为11,具体哪个版本,请自行百度。
    ps:请安装前配置好java8环境变量
  2. 详细的安装教程
  1. 需要安装的插件、jenkins配置和编写shell脚本
    请参考俺的另一篇博客,偷个懒,不重复写啦,不过,最新的脚本已经变啦,是为了将日志挂载出来改的脚本,这里贴一下:
#!/bin/bash -il
#maven打包


mvn clean package -Dmaven.test.skip=true
echo 'package ok!'
echo 'build start!'
# cd ./

service_name="administrate"
service_prot=8070
log_address="/workplat/logs/logback/admin"

mount_address="/mydata/app/logs/admin"

echo "mount_address $mount_address"

#查看镜像id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
then
    echo "exist $service_name image,IID=$IID"
    #删除镜像
    docker rmi -f $service_name
    echo "delete $service_name image"
    #构建
    cd administrate/
    docker build -t $service_name .
    echo "build $service_name image"
else
    echo "no exist $service_name image,build docker"
    #构建
    cd administrate/
    docker build -t $service_name .
    echo "build $service_name image"
fi
#查看容器id
CID=$(docker ps | grep "$service_name" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
    echo "exist $service_name container,CID=$CID"
    #停止
    docker stop $service_name
    #删除容器
    docker rm $service_name
else
    echo "no exist $service_name container"
fi
#启动
cd /
echo "启动语句  docker run -d --name $service_name --net=host -p $service_prot:$service_prot -v $mount_address:$log_address $service_name"
docker run --privileged=true -d --name $service_name --net=host -p $service_prot:$service_prot -v $mount_address:$log_address $service_name
#查看启动日志
# docker logs -f -t --tail 100  $service_name
#!/bin/bash -il
#maven打包


mvn clean package -Dmaven.test.skip=true
echo 'package ok!'
echo 'build start!'
# cd ./

service_name="business"
service_prot=8060
log_address="/workplat/logs/logback/business"

mount_address="/mydata/app/logs/business"

echo "mount_address $mount_address"

#查看镜像id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
then
    echo "exist $service_name image,IID=$IID"
    #删除镜像
    docker rmi -f $service_name
    echo "delete $service_name image"
    #构建
    cd business/
    docker build -t $service_name .
    echo "build $service_name image"
else
    echo "no exist $service_name image,build docker"
    #构建
    cd business/
    docker build -t $service_name .
    echo "build $service_name image"
fi
#查看容器id
CID=$(docker ps | grep "$service_name" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
then
    echo "exist $service_name container,CID=$CID"
    #停止
    docker stop $service_name
    #删除容器
    docker rm $service_name
else
    echo "no exist $service_name container"
fi
#启动
cd /
echo "启动语句  docker run -d --name $service_name --net=host -p $service_prot:$service_prot -v $mount_address:$log_address $service_name"
docker run --privileged=true -d --name $service_name --net=host -p $service_prot:$service_prot -v $mount_address:$log_address $service_name
#查看启动日志
# docker logs -f -t --tail 100  $service_name
rm -rf node_modules/
rm -rf yarn.lock
rm -rf package-lock.json 
npm cache clean --force 
npm cache verify
echo "运行 npm install"
jenkins_shell_path=$(pwd)
echo "jenkins_shell_path: $jenkins_shell_path"
npm install
npm i --unsafe-perm
echo "运行 run build"
npm run build
echo "构建成功"
rm -rf /www/workplat-front/
mkdir -p /www/workplat-front/
mv ./dist/* /www/workplat-front/
  1. 遇到的问题归总

标签:总结,name,service,--,echo,工作,address,Jenkins,docker
From: https://www.cnblogs.com/xxg98/p/16999813.html

相关文章

  • jdk调度任务线程池ScheduledThreadPoolExecutor工作原理解析
    jdk调度任务线程池ScheduledThreadPoolExecutor工作原理解析在日常开发中存在着调度延时任务、定时任务的需求,而jdk中提供了两种基于内存的任务调度工具,即相对早期的java.......
  • Linux 常用命令总结
    Linux常用命令总结作者:Grey原文地址:博客园:Linux常用命令总结CSDN:Linux常用命令总结本文基于的Linux环境是CentOS7,主要是日常使用的一些命令,持续更新中……......
  • 色彩精准、数据安全,华为云上的超高清设计师云工作站给你新体验
    音视频产业正在面临着空前的机遇时机,各行业以音视频技术为核心迸发出大量的新场景、新应用、新体验。华为云联合江苏赞奇科技股份有限公司发布了超高清设计师云工作站,具备一......
  • Spring IOC源码(五):IOC容器之 beanFactory准备工作
    1、源码解析prepareBeanFactory(beanFactory)是beanFactory的准备工作,主要是对beanFactory的各种属性做填充。 1//beanFactory的准备工作,配置容器上下文,如容......
  • 12月22日内容总结——django中间件的三个了解要求的方法、基于django中间件的功能设计
    目录一、django中间件三个了解的方法二、django中间件五个方法的执行流程详解三、基于django中间件的功能设计功能设计介绍如何利用字符串导入模块功能模拟四、cookie与ses......
  • 2022年度总结
    生活  2022年是结婚的第一年,今年是失业的第一年,今年是痛苦与快乐的事情并存的一年,今年是迎接新生命的一年。工作  2022年是公司突然倒闭的一年,在今年八月份开始,突然......
  • mybatisplus总结
    在学完了spring之后又去看了mybatisplus因为在学spring的过程中他有一部分讲解了一部分的springboot 然后也就尝试使用了 但是他一开始是用的mybatis进行数据库的操作......
  • spring学习总结
    学习完之后感觉spring使用注解开发真的比以前方便了许多1.Spring的出现,是为了高效的完成软件开发,依照软件设计模式的“高内聚低耦合”原则,实现前后端分离,达到不改变原有......
  • springboot学习总结
    刚学完spring的时候就学了一部分的springboot 感觉区别就在于springboot更加的高效 他为了方便开发 在spring的基础上面更加简化了一些配置他有非常大的有点比如:1.......
  • jenkins+git+.net core实现自动发布
    一、前言    继上篇介绍jenkins过去2年多了,最近整理了一下,希望这篇能介绍到一些更实用的方法和知识。本次使用的jenkins版本是2.375.1、jdk17、WinRAR、git;......