• 一键部署


    [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

  • 相关阅读:
    Java多线程学习
    JAVA类的加载机制
    这四款也许是电脑录屏软件中免费、无广告且最实用的,程序员必备
    手机端没有好的录屏软件?地表最强移动端录屏软件了解一下?
    手把手教你 在Pytorch框架上部署和测试 关键点人脸检测项目DBFace,成功实现人脸检测效果
    520是秀恩爱吃狗粮,521才是真正的告白日,- Python告白神器用起来 !
    截图还在使用QQ的Ctrl + Alt + A 截图?还不会网页长截图?
    卷积神经网络之卷积操作,使用卷积运算实现图片边缘特征检测
    小白也能弄懂的卷积神经网络(Convolutional Neural Networks )
    官网安装Python包太慢?教你三种下载安装方式-PiP、conda、轮子,教你三种Pytorch的下载安装方式,保证你再也不用出现Error
  • 原文地址:https://www.cnblogs.com/jjj250/p/10244811.html
Copyright © 2020-2023  润新知