0
点赞
收藏
分享

微信扫一扫

Python教程:Python在汽车软件中的应用(总线篇)

钎探穗 03-09 12:00 阅读 2

docker 构建Jenkins

sudo docker run --name=zen_haslett  --user=jenkins  --privileged=true  --volume=/home/cyf/server/jenkins/jenkins_home:/var/jenkins_home   -v /usr/lib/jvm/java-17-openjdk-amd64:/usr/lib/jvm/java-17-openjdk-amd64  -v /usr/lib/maven/apache-maven-3.8.8:/usr/lib/maven/apache-maven-3.8.8     -p 50000:50000  -p 49999:8080 -p 8087:8087   --restart=always -d   jenkins/jenkins:2.362-jdk17

注意:需要把打包项目的端口 用-p映射出来,例如我项目是8087就 -p 8087:8087

jenkins 的jdk版本最好和要打包的项目一致,坑太多了
参考:又一本 Jenkins 书
在这里插入图片描述
常用的Docker命令
docker ps -a
用于列出所有容器(包括已停止的容器)不带-a 则只是运行中的
docker stop <container_id>
停止一个或多个正在运行的容器
docker rm <container_id>
删除一个或多个容器
docker pull
拉取映像
例如:安装一个redis

(base) beavers@beavers-home:/home/cyf/server$ docker pull redis
(base) beavers@beavers-home:/home/cyf/server$ sudo mkdir ./redis
(base) beavers@beavers-home:/home/cyf/server$ sudo mkdir ./redis/data
(base) beavers@beavers-home:/home/cyf/server$ sudo touch ./redis/redis.conf

docker run -p 6379:6379 --name redis  --privileged=true  --restart=always -v /home/cyf/server/redis/redis.conf:/etc/redis/redis.conf -v /home/cyf/server/redis/data:/data -d redis redis-server /etc/redis/redis.conf
# Redis配置文件
  
# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
daemonize no

# 指定Redis监听端口,默认端口为6379
port 6379

# 绑定的主机地址,不要绑定容器的本地127.0.0.1地址,因为这样就无法在容器外部访问
bind 0.0.0.0

#需要密码则打开
# requirepass mima

# 持久化
appendonly yes

docker exec
在正在运行的容器内执行命令,docker exec -it <container_id> /bin/bash

安装Maven插件

在这里插入图片描述
如果没有合适的版本,需要手动去Maven Integration 下找到合适的版本,下载后在Deploy Plugin 下上传
在这里插入图片描述

新建一个Maven项目

在这里插入图片描述

设置

添加JDK

在这里插入图片描述
可以不添加,Jenkins 自带

添加Maven

在这里插入图片描述
可以不添加,Jenkins 自带

设置源码地址

在这里插入图片描述
Credentials 为拉取代码时的凭证

Build

在这里插入图片描述

打包后运行

选择执行Shell
在这里插入图片描述

#!/bin/bash
echo "开始启动jar包"
export  BUILD_ID=dontKillMe

#指定最后编译好的jar存放的位置 即是发布目录
www_path=${WORKSPACE}/javaProject

echo "日志目录 ${www_path}"
#Jenkins中编译好的jar名称 
jar_name=ai-his-0.0.1-SNAPSHOT
app_jar=${jar_name}.jar

LOG_PATH=${www_path}/logs/${jar_name}.log

if [ ! -d "${www_path}" ]; then
 mkdir ${www_path}
 mkdir ${www_path}/logs
fi
#杀掉以前的进程
echo "Stopping tooldin-mq"
pid=`ps -ef | grep  ${app_jar} | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi

#打包后jar的路径,默认是target下
cp /var/jenkins_home/.m2/repository/com/beaver/ai-his/0.0.1-SNAPSHOT/ai-his-0.0.1-SNAPSHOT.jar ${www_path}
cd  ${www_path}
echo "Execute shell Finish"
nohup java -Djasypt.encryptor.password=Qazwsx@123  -jar ${app_jar} > ${LOG_PATH} & 


sleep 2
newPid=$(pgrep -f $app_jar)
echo "线程正常启动pid:$newPid"


举报

相关推荐

0 条评论