zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    elk 之elasticsearch 部分参数参考(1)
    ubuntu16.04安装mariadb 缺少ncurses-devel
    死锁以及避免死锁
    python中的@
    Python中的logging模块
    Cannot find /usr/src/jdk1.7.0_79/lib/*.*/bin/setclasspath.sh 找不到文件
    shelve -- 用来持久化任意的Python对象
    Python-机器学习基础-K近邻算法
    Python-机器学习基础-Pandas
    Java-多线程
  • 原文地址:https://www.cnblogs.com/zyh-s/p/13253600.html
Copyright © 2011-2022 走看看