docker安装Jenkins执行构建jar运行方式

 更新时间:2024年05月06日 09:24:28   作者:pengwei12345  
这篇文章主要介绍了docker安装Jenkins执行构建jar运行方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

自己docker启动Jenkins的一些自我心得,docker启动Jenkins还是有很多问题,建议还是使用本地直接安装靠谱

1. 拉取docker最新Jenkins镜像lts

docker pull jenkins/jenkins:lts

2. 创建目录及权限

这一步很关键。。。

ls -nd /home/Jenkins  # 查看目录归属ID

sudo mkdir /data/jenkins_home/
chown -R 1000:1000 /data/jenkins_home/  # 赋予权限
sudo chmod 777 /data/jenkins_home
#我随便都给了权限,总是到处报错 很烦···
chown -R jenkins:jenkins /app/dockers/jenkins/data/
chown -R 1000 /app/maven/apache-maven-3.8.6
chown -R 1000 /app/maven/apache-maven-3.8.6/repo/

3. 运行docker镜像

docker run --name jenkins --restart=on-failure --detach \
--privileged=true \
--env DOCKER_HOST=tcp://docker:2376 \
--env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
--publish 8888:8080 --publish 50000:50000 \
--publish 8008:8008 \ #启动jar的端口号 不加访问不了启动的jar包
-v /app/dockers/jenkins/data:/var/jenkins_home \
-v /usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64:/usr/local/src/jdk/jdk11 \
-v /app/maven/apache-maven-3.8.6:/opt/apache-maven-3.8.6 \
--volume jenkins-docker-certs:/certs/client:ro \
jenkins/jenkins:lts

4. 启动Jenkins

启动Jenkins网上教程很多,这里不做赘述,下载maven插件 gitlab插件 配置对应参数

5. 配置流水线

git配置登录

构建maven

clean install -pl /fastdfs-service -am -DskipTests=true -P dev

构建jar的shell脚本

shell启动jar脚本

#!/bin/bash
echo "开始启动jar包....."

#export BUILD_ID=dontKillMe这一句很重要,这样指定了,项目启动之后才不会被Jenkins杀掉。
export BUILD_ID=dontKillMe

#指定最后编译好的jar存放的位置 即是发布目录
www_path=${WORKSPACE}/javaProject
#Jenkins中编译好的jar位置  即是编译目录
jar_path=${WORKSPACE}/fastdfs-service/target
#Jenkins中编译好的jar名称 
jar_name=little-partner-fastdfs
app_jar=${jar_name}.jar
ENV=dev
#实时日志
LOG_PATH=${www_path}/logs/${jar_name}.log

if [ ! -d "${www_path}" ]; then
 mkdir ${www_path}
 mkdir ${www_path}/logs
fi

#进入指定的编译好的jar的位置
cd  ${jar_path}
#将编译好的jar复制到最后指定的位置
cp  ${jar_path}/${app_jar} ${www_path}
#进入最后指定存放jar的位置
cd  ${www_path}

if [[ ! -f "$www_path/$app_jar" ]]; then
echo "---------------------------------"
echo "$jar_name 不存在>>>>>"
echo "---------------------------------"
exit 1
fi
#杀掉以前的进程
ps aux|grep ${app_jar}|grep -v grep|awk '{print $2}'|xargs kill -9

#启动jar,指定SpringBoot的profiles为dev,后台启动
#java -jar -Dspring.profiles.active=${ENV} ${app_jar} &
#启动服务
nohup /usr/local/src/jdk/jdk11/bin/java -Xms256m -Xmx256m -jar ${app_jar} > ${LOG_PATH} & 

echo "启动中>>>>>>>"

6. Jenkins官方镜像是纯净版Debian系统

先以root进入docker 容器

docker exec -u root -it 容器名称 bash

我这个版本无法执行ps命令。。。所以必须更新安装ps

apt update -y #先更新

apt-get install vim

速度太慢了···有点受不了快先换了地址源

问题描述:在使用vim命令时,即使使用I命令切换到“插入模式”时,也不能使用复制或者粘贴命令,“ctrl + v ”大法也被禁止

解决方法:

编辑文件(默认没有这个文件)

vim ~/.vimrc

末尾添加两行参数

set mouse=a
set mouse=r
syntax on

然后就可以开心的复制黏贴啦

vim /etc/apt/sources.list
#添加阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

#中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

#163源
deb http://mirrors.163.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ bionic-backports main restricted universe multiverse

#清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

更换三方源没有对应的Key

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32

安装ps支持工具包

apt update && apt -y install procps

7. 启动项目构建成功

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 利用Docker 运行 python 简单程序

    利用Docker 运行 python 简单程序

    这篇文章主要介绍了利用Docker 运行 python 简单程序,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-04-04
  • Docker network自定义网络方式

    Docker network自定义网络方式

    这篇文章主要介绍了Docker network自定义网络方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • 基于Docker的MySQL主从复制环境搭建的实现步骤

    基于Docker的MySQL主从复制环境搭建的实现步骤

    这篇文章主要介绍了基于Docker的MySQL主从复制环境搭建的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • IDEA部署Docker到WSL2的详细过程

    IDEA部署Docker到WSL2的详细过程

    这篇文章主要介绍了IDEA 部署 Docker 到 WSL2的过程详解,本地环境Windows10+WSL2(Ubuntu),具体操作过程跟随小编一起看看吧
    2021-07-07
  • docker容器无法stop的解决办法

    docker容器无法stop的解决办法

    在本篇文章里小编给大家整理了关于docker容器无法stop的解决办法,有需要的朋友们可以参考下。
    2020-03-03
  • 浅谈docker-compose网络设置之networks

    浅谈docker-compose网络设置之networks

    这篇文章主要介绍了浅谈docker-compose网络设置之networks,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Docker部署Python应用的方法实现

    Docker部署Python应用的方法实现

    在云服务使用越来越普及的趋势下,很多应用在考虑成本和、可部署性、维护性方面,选择docker方案部署是一个不错的选择,本文主要介绍了Docker部署Python应用的方法实现,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Docker网络及容器通信原理详解

    Docker网络及容器通信原理详解

    这篇文章主要介绍了Docker网络及容器通信原理详解的相关资料,并通过启动几个容器来探究Docker网络及容器通信,需要的朋友可以参考下
    2022-11-11
  • Docker下部署lnmp详细步骤

    Docker下部署lnmp详细步骤

    大家好,本篇文章主要讲的是Docker下部署lnmp详细步骤,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • docker安装influxdb的详细教程(性能测试)

    docker安装influxdb的详细教程(性能测试)

    这篇文章主要介绍了docker安装influxdb的详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07

最新评论