Jenkins+Svn+Docker搭建持续集成环境 自动部署

首先需要java环境,安装java环境后

    1.docker pull jenkins/jenkins

    2.修改默认插件源地址 vi ~/jenkins/hudson.model.UpdateCenter.xml

      1 http://mirror.xmission.com/jenkins/updates/update-center.json # 推荐
      2 http://mirrors.shu.edu.cn/jenkins/updates/current/update-center.json
      3 https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

    3.docker run -d -p 8002:8080 -v ~/jenkins:/var/jenkins_home --name jenkins --restart=always -u 0 jenkins/jenkins

    4.docker logs -f jenkins 查看日志记录初始密码

    5.访问127.0.0.1:8002 输入log 中的密码

    6.选择推荐安装插件 等待完成

    7.一般需要 Git/Subversion、SSH、Publish Over SSH、Maven 缺少可自行下载,Maven推荐自行安装不适用jenkins中下载。

    8.然后进入系统管理->全局工具配置 配置maven jdk SSH(jar上传目标的服务器)

    9.新建任务->构建一个maven项目 如果没有 “构建一个maven项目” 这一项,则需要安装 Maven Integration 插件

    10.SSH 选择目标服务器及目标地址

    11.源码管理配置svn 地址及账户->build 高级下可以更改自己的maven setting文件 goals 填写 clean install -Dmaven.test.skip=true -Psit

    12.构建出发器可根据自行设置

    13.Post Steps 选中Run only if build success 下面add post-build step->执行shell

   14.API_VERSION=“0.0.1”
    API_PORT=“14218”
    IMAGE_NAME=“order”
    CONTAINER_NAME=order
    cd /usr/local/jenkinsJar/order
    cid=$(docker ps | grep $CONTAINER_NAME |awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 1}̲') if [ x"cid" != x ]
    then
    docker stop order
    docker rm order
    docker rmi order
    fi
    docker build -t $IMAGE_NAME .
    docker push $IMAGE_NAME
    docker run -d -v /etc/localtime:/etc/localtime:ro -p $API_PORT:8006 --name $CONTAINER_NAME $IMAGE_NAME

我这里是将DockerFile 和 发送的jar 放在/usr/local/jenkinsJar/order
如果有模块间的依赖需先把依赖打包或者整体打包否则找不到依赖jar
最后一步立即构建 success

原文地址:https://www.cnblogs.com/zyh-s/p/13253600.html