首页 > 其他分享 >hj_podman_jenkins_maven_git_springboot_ssh一键部署项目

hj_podman_jenkins_maven_git_springboot_ssh一键部署项目

时间:2023-05-30 16:17:15浏览次数:60  
标签:...... git springboot app jar maven podman hello name

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 ~

 

标签:......,git,springboot,app,jar,maven,podman,hello,name
From: https://www.cnblogs.com/hua-jian/p/17443486.html

相关文章

  • springboot-解决项目编译后resources下文件生成乱码问题
    SpringBoot项目下resources文件项目编译之后resources下文件会生成乱码,是说明maven打包的时候出现问题缺少一个插件<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId>......
  • git的一些操作方法
    gitcheckout(xxx)前往其他分支xxxgitmerge(dev)合并其他分支把dev的代码拉下来gitbranch-a查看全部分支gitbranch-r查看所有远程分支gitcheckout-b分支的快速创建与切换gitbranch--set-upstream-to=origin/本地分支关联线上分支gitbranch-vv查看......
  • springboot使用jdbc连接mysql(不用配置文件)
     1、连接mysql的工具类:packagecom.jzproject.common.mysql;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONArray;importorg.springframework.jdbc.core.JdbcTemplate;importjava.sql.*;importjava.util.ArrayList;importjava.util.HashMap;......
  • Git 拉取分支以及推送分支步骤
    一、git从指定分支拉取代码【前提:远程仓库已有你想拉取的分支,这里以develop分支为例】##首先确定想在哪个分支上拉代码,假设你想拉代码的分支是develop分支。第一步:在拉代码之前先查看以下自己所处的分支名称:gitbranchgitbranch命令解释:   gitbranch查看本地所有分支,其中有......
  • Git入门指南:从新手到高手的完全指南
    Git是一种强大的分布式版本控制系统,广泛应用于软件开发中。它的使用不仅可以帮助开发团队更好地管理代码,还可以提高团队协作效率和代码质量。随着软件开发的不断发展,版本控制成为了程序员必备的一项技能。Git作为最流行的分布式版本控制系统,被广泛地应用于软件开发、数据分析、文......
  • SpringBoot集成RocketMQ,rocketmq_client.log日志文件配置
    SpringBoot项目集成rocketmq-client<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>4.7.0</version></dependency>项目启动时会在${user.home}/logs目录下创建一个roc......
  • Git入门指南:从新手到高手的完全指南
    Git是一种强大的分布式版本控制系统,广泛应用于软件开发中。它的使用不仅可以帮助开发团队更好地管理代码,还可以提高团队协作效率和代码质量。随着软件开发的不断发展,版本控制成为了程序员必备的一项技能。Git作为最流行的分布式版本控制系统,被广泛地应用于软件开发、数据分析、文......
  • 非常不错的springboot启动shell脚本
    #!/bin/bashJAVA_OPTIONS_INITIAL=-Xms256MJAVA_OPTIONS_MAX=-Xmx256M_JAR_KEYWORDS=/wls/appsystem/ruoyi/apps/ruoyi-admin.jarAPP_NAME=ruoyi-adminAPPLICATION_FILE=/wls/appsystem/ruoyi/config/application.propertiesAPPLICATION_YAML_FILE=/wls/appsystem/ruoyi......
  • idea Maven 在升级后 提示Plugin with id ‘maven‘ not found
    Pluginwithid‘maven‘notfound的解决办法应用的插件名字已经从Maven变成maven-publish。修改方式:在build.gradle文件中修改applyplugin:'maven'改成:applyplugin:'maven-publish'......
  • gitlab--不同的 stage 不重新下载代码、GIT_CHECKOUT、制品 artifacts
    介绍在gitlabci中,不同的stage都会重新下载代码,例如下面的.gitlab-ci.ymldefault:image:ruby:2.7.5stages:#运行的阶段顺序-build-test-deploybuild:#job的名称stage:build#阶段的名称script:-ls-l-echo123>test1.txt#......