hj_podman_jenkins_maven_git_springboot_ssh一键部署项目

发布时间 2023-05-30 16:02:46作者: 独孤~华剑

podman pull jenkins/jenkins:jdk17

podman run -d --privileged=true \
-u root --name jenkins_jdk17_8081 \
-p 8081:8080 -p 50001:50000 \
-v /hj_files/jenkins_jdk17:/var/jenkins_home \
a307650508c6

http://105.35.260.230:8081/ 

安装好推荐配置后.

再安装俩插件   Maven IntegrationVersion  &  Publish Over SSH 

然后 配置 jdk maven 这个镜像里面是有jdk17的~

全局工具配置(tool) 服务器里面也创建了对应脚本文件.

 然后 重启一下podman 容器 让新安装的那俩插件生效. 在系统管理-系统配置下.配置下ssh连接.以上传到对应服务器

 然后开始构建项目咯. 新建项目 选择 构建一个 maven项目 如下图.

 然后 那边服务器对应就容器运行了服务. 附Dockerfile 与 hjHello.sh .sh记得赋权777

# 基础镜像使用java
FROM docker.io/library/openjdk:17
# 作者
MAINTAINER hj
# VOLUME 容器挂载目录/tmp,这个是容器内部生成的目录
VOLUME /server/tmp
# 将jar包添加到容器中并更名为admin.jar
ADD hello-0.0.1-SNAPSHOT.jar hello.jar
# 时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
# 暴露端口
EXPOSE 7001
# 包前面的add命令把jar复制添加,这个touch命令的作用是修改这个文件的(访问,修改时间)为当前时间,可有可无
RUN bash -c 'touch /hello.jar'
# 运行jar
ENTRYPOINT ["java","-jar","/hello.jar"]
Dockerfile
# !/bash/bin
app_name='hj_hello'
app_port='7001'

# 停止正在运行的容器
echo '......stop container  hj_hello......'
podman stop ${app_name}

# 删除容器
echo '......rm container  hj_hello......'
podman rm ${app_name}

# 删除 名称为 app_name 镜像
echo '......rmi none images  hj_hello......'
podman rmi `podman images | grep ${app_name} | awk '{print $3}'`

# 构建镜像

podman build -f Dockerfile  -t ${app_name} 

# 重新生成并运行容器
# echo '......start container hello......'
# podman run -p ${app_port}:${app_port} -d  --name ${app_name} ${app_name}
# 挂载日志文件到外部
podman run -d \
--name ${app_name} -p ${app_port}:${app_port} \
--restart=always \
--privileged=true \
-v /etc/localtime:/etc/localtime \
-v /root/server/hello/data/tmp:/data/tmp \
-v /root/server/hello/logs:/logs \
${app_name}
# 重新生成并运行容器
echo '......Success hj_hello......'
hjHello.sh

 这只是一个简单的demo ~