美文网首页运维监控
自动化部署(一)jenkins+github+maven+doc

自动化部署(一)jenkins+github+maven+doc

作者: LiJinQuanan | 来源:发表于2019-01-14 16:11 被阅读0次

    本文适用于自动化部署Springboot项目,原理是将jenkins和我们的github关联,当git上的代码更新时,会通知到jenkins服务器,由jenkins服务器通过本地更新仓库自动生成jar包并通过Dockerfile脚本部署项目。

    准备环境

    java+maven

    需要JDK8和Maven3环境,详细配置见安装JDK8+Maven3

    git+jenkins

    服务器需要git环境和Jenkins服务,详细配置见Git+Jenkins

    Jenkins插件安装

    系统管理->插件管理->可选插件
    需要安装以下插件

    GitHub plugin
    Publish Over SSH
    Maven相关

    配置SSH

    参照https://www.cnblogs.com/YatHo/p/6739814.html

    新建任务

    在Jenkins页面新建一个自由风格(freestyle)的任务
    ps:本篇的项目用例使用SpringCloud的eureka注册中心,项目源码见git

    创建任务

    General

    源码管理

    构建触发器

    构建

    构建后操作

    Exec command
    #将jar包拷贝到自定义路径下,ps:buildimage.sh,run.sh,用到的Dockerfile都在自定义路径下,该文件需要自行创建
    cp /var/lib/jenkins/workspace/demo_eureka/target/demo_eureka-0.0.1-SNAPSHOT.jar /usr/local/project/eureka    
    #进入到该路径
    cd /usr/local/project/eureka
    #添加执行权限并执行脚本
    chmod +x buildimage.sh
    ./buildimage.sh
     chmod +x run.sh
    ./run.sh
    
    buildimage.sh
    #使用Dockerfile创建Docker容器
    docker build -t demo_eureka:1.0 .
    
    run.sh
    #执行该容器并映射端口8761
    docker run --name="demo_eureka" -p 8761:8761 -d demo_eureka:1.0
    
    Dockerfile
    # 版本信息
    #java:latest 为centos官方java运行环境镜像
    FROM java:latest
    MAINTAINER cds "ljq"
    
    #复制文件到容器中的/usr/local/jar/
    ADD  demo_eureka-0.0.1-SNAPSHOT.jar /usr/local/jar/
    
    #重命名jar名
    RUN mv /usr/local/jar/demo_eureka-0.0.1-SNAPSHOT.jar  /usr/local/jar/app.jar
    
    #开启内部服务端口项目端口
    EXPOSE 8761
    #默认的容器启动执行命令
    CMD ["java","-jar","/usr/local/jar/app.jar"]
    

    上传项目到GitHub


    浏览器输入:http://ip:8761

    部署成功!

    End

    参考博客jenkins+maven+docker+github全自动化部署SpringBoot实例

    相关文章

      网友评论

        本文标题:自动化部署(一)jenkins+github+maven+doc

        本文链接:https://www.haomeiwen.com/subject/eboddqtx.html