Jenkins 部署 单体项目

本文介绍了如何使用Docker拉取Jenkins镜像,配置环境变量,替换更新中心URL,安装Maven和JDK,以及设置SSH服务器和自定义插件,以实现自由风格项目构建和部署。
摘要由CSDN通过智能技术生成
  1. 版本选择2.401.1
    docker pull jenkins/jenkins:2.401.1
  2. 将 /var/jenkins_home 挂载到 /usr/local/docker/jenkins/jenkins_home
    docker run \
    -d \
    --name jenkins \
    -p 8099:8080 \
    -p 8888:8888 \
    -p 50000:50000 \
    -v /usr/local/docker/jenkins/jenkins_home:/var/jenkins_home \
    jenkins/jenkins:2.401.1
  3. 将 hudson.model.UpdateCenter.xml 文件中的 url 下载插件的镜像 改为 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json(清华大学镜像源)
  4. 在挂载出来的目录下创建 myapps 给文件夹赋权限

将 maven 和 jdk 传入 文件中

maven

jdk

jdk1.8.0_131 用跟项目中统一版本 避免后期报错版本不兼容

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz
tar -zxvf jdk-8u131-linux-x64.tar.gz
  1. 重启容器后 访问 ip:8099 

选择自定义插件 下载完成后设置用户名密码

  1. Maven Integration plugin Publish Over SSH 手动下载两个插件

  1. 如果报 403 的话 将 config.xml中的

  1. 配置SSH Server

构建一个自由风格软件项目

Source files:准备发送的文件,该文件是相对于这个项目的workspace目录,也就是$JENKINS_HOME/workspace/xxxx/。例如要发送/home/jenkins_home/workspace/tf/target/123.war到目标目录,则设置Source files为target/123.war。如果要发送src下的所有文件,可以设置为target//*.*。

Remove prefix:例如设置为target/就是只发送123.war文件,如果不填会创建target目录层级。

Remote directory:目标目录,比如/usr/local。

Exec command:最后执行的指令。

app_name='test'
app_version='1.0.jar'
echo '----copy jar----'
# 停止容器
docker stop ${app_name}
# 删除容器
docker rm ${app_name}
# 删除镜像
docker rmi ${app_name}:${app_version}
# 构建新版镜像
cd /mydata/docker-project/test #jar上传到服务器的路径,一定要写对否者启动失败
docker build -t ${app_name}:${app_version} .
docker run -p 9201:9201 --name ${app_name} \
    -e TZ="Asia/Shanghai" \
    -v /mydata/docker-project/test/test.jar:/app/test.jar \
    -d ${app_name}:${app_version}
echo '-----start container-----'

很简单的一个配置项,选择mvn版本,在填一下目标,over。正常来说是over了

在此目录下创建一个 dockerfile 或者在项目的根目录中创建一个dockerfile

FROM openjdk:18.0.2
MAINTAINER lxj
VOLUME /tmp
ARG JAR_FILE=test.jar
COPY ${JAR_FILE} test.jar
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
RUN bash -c 'touch /test.jar'
RUN chmod +x /test.jar
ENTRYPOINT ["java", "-jar", "/test.jar"]
  1. FROM openjdk:18.0.2:基于 openjdk:18.0.2 镜像构建新的镜像。
  2. MAINTAINER xuqing:指定作者信息为 xuqing,不过在 Docker 17.04 之后,已经不推荐使用 MAINTAINER 指令,而是使用 LABEL 指令。
  3. VOLUME /tmp:指定了/tmp目录作为一个数据卷,用于临时存储数据。这样可以在容器之间共享数据,或者持久化数据。
  4. ARG JAR_FILE=./*.jar:定义了一个参数 JAR_FILE,并设置默认值为当前目录下的所有.jar文件。
  5. COPY ${JAR_FILE} gmall-ums.jar:将本地的 JAR 文件复制到容器中,并重命名为 gmall-ums.jar。
  6. RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone:设置容器的时区为亚洲/上海。
  7. RUN bash -c 'touch /gmall-ums.jar':在容器中创建一个名为 gmall-ums.jar 的空文件。
  8. ENTRYPOINT ["nohup","java","-jar","/gmall-ums.jar"]:容器启动时执行的命令,使用 nohup 后台运行 java -jar /gmall-ums.jar 命令,启动 Spring Boot 应用

  • 32
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值