docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker安装Jenkins执行构建jar运行

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

作者: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. 启动项目构建成功

总结

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

您可能感兴趣的文章:
阅读全文