zoukankan      html  css  js  c++  java
  • 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  # 将相应的容器日志输出,方便问题排查
    
  • 相关阅读:
    C++文件流操作与流缓冲重定向
    转减小编译时间的两种做法
    AFX_MANAGE_STATE(AfxGetStaticModuleState())
    一个游戏程序员的资料一(转)
    ACE的Doublecheckedlocking的Singleton
    Hibernate 过滤器
    悲观锁 HibernateTest.java
    HQL 语句
    HQL 查询语句
    Hibernate 中继承映射之三 每一个类一个表
  • 原文地址:https://www.cnblogs.com/91parson/p/13821814.html
Copyright © 2011-2022 走看看