• 一键部署


    [z]https://segmentfault.com/a/1190000014325300

    [z]https://my.oschina.net/sojie/blog/663466

    [z]https://my.oschina.net/u/2937605/blog/1801893

    http://niocoder.com/2018/06/22/%E5%BC%80%E5%8F%91%E5%88%A9%E5%99%A8Jrebel%E9%83%A8%E7%BD%B2SpringBoot%E9%A1%B9%E7%9B%AE/

    实践性尝试,这里只在一台虚拟机下操作。

    1.vmware 下centos 安装

    设置centos 桥接模式
    参考:https://www.cnblogs.com/loven...

    2.centos 软件安装

    1) docker 安装

     yum install -y docker
    
    

    2)JDK 安装

    参考:https://blog.csdn.net/evan_chen_1/article/details/55097252

    3)Maven 安装

    参考:https://blog.csdn.net/mynameissls/article/details/54140176  
    

    4)Git 安装

    yum install git    
    

    5)安装jenkins

    参考:https://www.cnblogs.com/woshimrf/p/6103366.html
    
    

    3.Jenkins 配置

    安装插件

      Locale plugin  设置中文界面    
      设置参考: https://www.cnblogs.com/hanxiaohui/p/8136621.html   
      
      Publish Over SSH  配置SSH登陆centos 
      使用Publish Over SSH插件实现远程自动部署
      参考: https://www.cnblogs.com/YatHo/p/6739814.html  
      

    本例配置如下

    Locale plugin
    clipboard.png

    Publish Over SSH 
    clipboard.png

    4 创建JOB 名字为cicd_demo

    clipboard.png

    5.配置cicd_demo任务

    本例演示项目地址为:https://github.com/chendishen...
    1)配置General

    clipboard.png
    上图中git项目是我的一个测试项目

    2)源码管理

    clipboard.png

    3)构建触发器
    Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新就checkout最新code下来,然后执行构建动作。我的配置如下:

    勾选 Poll SCM ,日程表填入: `* * * * *` (5个*),忽视警告
    

    clipboard.png
    4)构建环境
    不设置

    clipboard.png

    5)构建
    maven version 选择 maven
    Goals : clean package

    clipboard.png

    6)构建后操作
    在配置最后找到“增加构建后操作步骤”,选择"Send build artifacts over SSH"

    clipboard.png

    配置说明:

    1.SSH Server Name 就是前面配置的Publish Over SSH 的名称
    2.Source files 是指源文件位置,这个位置是在jenkins的工作目录下的job文件在内 ,
    (/var/lib/jenkins/workspace/cicd_demo 默认路径 cicd_demo是我的job名称,maven 编译后会在此文件内创建 target 目录, cicd-demo*.jar是构建后jar包命名前缀+版本号
    见pom.xml 中 artifactId )
    3.Remove prefix 删除前缀 target
    4.Remote directory 远程目录,结合前面Publish Over SSH配置就是 /root/test 目录,这些配置完毕以后, jenkins 在编译成功后,就会自动把 文件 copy 到 B主机下的/root/test
    5.Exec command , 我这里的操作是吧 主机 /root/test 的文件 复制到 我自己的 /usr/local/project/cicd_demo下 然后进入到此目录,执行我的 buildimage.sh 和 run.sh

    配置中的目录和文件需要提前创建

    mkdir /usr/local/project/cicd_demo

    在/usr/local/project/cicd_demo目录下

    clipboard.png

    文件说明

    buildimage.sh 用来构建镜像 
    Dockerfile 为构建镜像所需文件
    run.sh 用来启动容器

    buildimage.sh创建

    vi /usr/local/project/cicd_demo/buildimage.sh
    

    buildimage.sh 内容:

    docker build -t cicd_demo:1.0 .
    

    Dockerfile创建

    vi /usr/local/project/cicd_demo/Dockerfile

    Dockerfile内容:

    # 版本信息
    #java:latest 为centos官方java运行环境镜像,600多M ,可以提前pull到主机本地
    FROM java:latest 
    MAINTAINER cds "352826256@qq.com"
    
    #实际上可以配置成变量 
    ADD cicd-demo-1.0.jar /usr/local/jar/
    
    RUN mv /usr/local/jar/cicd-demo-1.0.jar  /usr/local/jar/app.jar
    
    #开启内部服务端口 cicd-demo 项目端口
    EXPOSE 8090
    
    CMD ["java","-jar","/usr/local/jar/app.jar"]
    
    

    run.sh 创建

    vi /usr/local/project/cicd_demo/run.sh

    run.sh 内容 :

    docker rm -f cicd_demo
    docker run --name="cicd_demo" -p 8090:8090 -d cicd_demo:1.0
    
    
    

    6.cicd_demo任务运行

    控制台输出如下
    图片描述

    至此自动构建任务完成

    7.结果验证

    在物理机浏览器输入 http://192.168.1.104:8090/index

    clipboard.png

  • 相关阅读:
    「Android」Android4.04 在线源代码查看
    「Android」Huawei U8825d new LowmemoryKiller config
    「Linux」Ubuntu12.10的Libpcap1.3安装过程
    NSString+NSMutableString+NSValue+NSAraay用法汇总
    hd2 刷android
    EXT分区教程
    how to use a Class Breaks Renderer in the ESRI ArcGIS iPhone API to display cities of varying population with different
    windows server 2008修改远程桌面连接数
    iphone开发常用代码
    手持GPS坐标系统的转换与应用
  • 原文地址:https://www.cnblogs.com/jjj250/p/10244811.html
Copyright © 2020-2023  润新知