• Jenkins:实现Maven工程自动打包部署


    Maven部署情况

    采用docker方式进行部署,通过Dockerfile新建自定义镜像

    • Dockerfile内容
    FROM tomcat:8.5
    #COPY sysctl.conf /etc
    COPY demo.war /usr/local/tomcat/webapps/ROOT.war
    EXPOSE 8080
    
    • 构建自定义镜像
      Dockerfile存放目录为/Users/XXX/Documents/Docker/tomcat,执行如下指令:
      docker build -t test_tomcat /Users/XXX/Documents/Docker/tomcat
    • 启动服务
      使用自定义镜像来启动maven服务:docker run -d -p 9080:8080 --name mytomcat test_tomcat
    • 目录结构
      Dockerfile目录结构

    新建Jenkins任务

    创建自由风格的软件项目,将自定义工作空间设定为Maven工程所在目录

    • 构建脚本
    #!/bin/zsh -ilex
    cd ${WORKSPACE}      # 进入相应的自定义工作空间
    mvn clean package    # maven工程在执行机上打包
    mv ${WORKSPACE}/target/demo.war /Users/XXX/Documents/Docker/tomcat # 将打包的war移动至tomcat部署目录下
    docker build -t test_tomcat /Users/XXX/Documents/Docker/tomcat  # 在Dockerfile所在目录下,构建相应的镜像命名为test_tomcat
    docker restart mytomcat # 将已启动的容器重启,这一步主要是配合下面的docker stop这个指令,防止容器未启动
    sleep 60
    docker stop mytomcat   # 停止已启动的容器
    docker rm -f mytomcat  # 将已有的容器删除
    docker run -d -p 9080:8080 --name mytomcat test_tomcat # 使用最新的镜像来启动相应的服务
    sleep 60
    docker logs mytomcat  # 将相应的容器日志输出,方便问题排查
    
  • 相关阅读:
    「分块」学习笔记
    「NOIP 2017」逛公园
    大假期集训模拟赛15
    大假期集训模拟赛14
    大假期集训模拟赛13
    nginx 日志升级
    nginx 日志切割
    nginx 健康检查
    sftp 管理
    Prometheus 学习
  • 原文地址:https://www.cnblogs.com/91parson/p/13821814.html
Copyright © 2020-2023  润新知