hj_podman_jenkins_maven_git_springboot_ssh一键部署项目
podman pull jenkins/jenkins:jdk17 # jdk8 版本 podman pull jenkins/jenkins:2.346.3-2-jdk8
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 Integration & 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"]
# !/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......'
这只是一个简单的demo ~
可以一次上传多个模块下的jar包到不同的目录, 上传到不同的服务器,然后挂载外部的yml文件,就可以一次打包,多处运行了
-------------------------------------------------------------------------------分割线--------------------------------------------------------------------------------------------------------------------------------
root@f95dcfbcb2d5:/usr/local/bin# vi jenkins.sh bash: vi: command not found root@f95dcfbcb2d5:/usr/local/bin# apt-get install vim Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package vim root@f95dcfbcb2d5:/usr/local/bin# apt-get update Get:1 http://deb.debian.org/debian bullseye InRelease [116 kB] Get:2 http://deb.debian.org/debian-security bullseye-security InRelease [48.4 kB] Get:3 http://deb.debian.org/debian bullseye-updates InRelease [44.1 kB] Get:4 http://deb.debian.org/debian bullseye/main amd64 Packages [8183 kB] Get:5 http://deb.debian.org/debian-security bullseye-security/main amd64 Packages [253 kB] Get:6 http://deb.debian.org/debian bullseye-updates/main amd64 Packages [17.3 kB] Get:7 https://packagecloud.io/github/git-lfs/debian bullseye InRelease [25.8 kB] Get:8 https://packagecloud.io/github/git-lfs/debian bullseye/main amd64 Packages [2128 B] Fetched 8689 kB in 2s (3774 kB/s) Reading package lists... Done root@f95dcfbcb2d5:/usr/local/bin# apt-get install vim