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

你可能感兴趣的:(docker,docker,jenkins)