美文网首页Java服务器端编程Docker容器程序员
linux环境下使用docker:jenkins对spring

linux环境下使用docker:jenkins对spring

作者: yobanana | 来源:发表于2017-12-01 15:47 被阅读125次

    获得jenkins 镜像

    搜索jenkins相关镜像
    docker search jenkins

    image.png
    可以看到官方提供的镜像有OFFICAIAL标识
    通常也可以到docker store搜到所需镜像的使用说明 我是链接
    下载链接
    docker pull jenkins

    启动镜像

    docker run -d -p 8080:8080 -p 50000:50000 -v /jenkins:/var/jenkins_home jenkins
    -d的意思是后台运行
    -v + 本地路径:容器路径 :示例为将容器的/var/jenkins_home路径挂载到本地/jenkins 这么做的原因是/var/jenkins_home 为jenkins的运行文件目录,保存运行相关数据,如果不挂载到本地,当前镜像进程结束后不属于镜像的文件就会丢失。可以理解为镜像本身是不变的,每次运行都是从头开始。

    登录并初始化

    浏览器通过地址:8080端口访问
    提示输入秘钥

    image.png
    由于是后台启动镜像,日志没有输出到终端内,可以从启动日志中查询秘钥:
    1:查询当前运行镜像的ID
    查询状态命令:docker ps image.png

    2:查询日志命令
    docker logs -f -t --since="2017-05-31" ${id}
    根据上一步查询到的ID:输入命令
    docker logs -f -t --since="2017-05-31" 2833f00d6755
    可以秘钥

    image.png

    填入秘钥后提供初始化选项,我选择install suggested plugin


    image.png

    接着会进行一系列安装,完毕会要求你填写管理员账户信息


    image.png
    填写后即可启动:
    image.png
    image.png

    安装全局工具

    image.png
    image.png

    JDK

    image.png

    git


    image.png

    maven


    image.png

    点击save保存变更

    安装maven项目插件

    image.png
    image.png image.png

    安装通过SSH发布插件

    用于打包结束后把jar包远程发布到运行服务器用(注:这只是运行应用的一种办法)
    在插件管理中安装该插件:


    image.png

    在系统设置里配置远程服务器


    image.png

    配置远程连接属性:
    name:后续指定连接服务器
    hostname:远程服务器ip
    username:用户名
    passphrase:密码


    image.png
    配置完后记得保存。

    创建一个maven 项目

    image.png image.png

    配置代码来源:

    示例选择git
    首先填写用户名密码


    image.png
    image.png

    然后填写url


    image.png

    构建配置

    image.png

    运行工程jar包

    这里使用的通过SSH方式连接一个服务器,然后运行一个脚本 :


    image.png

    脚本很简单:大致为查询已经运行的服务进程号,如有则删除,然后运行打包出来的这个jar包。spring boot集成了web容器,所以可以直接通过jar命令启动

    kill -9 `ps aux | grep com.progen.Application | grep -v grep | awk '{print $2}'`
    cp /dev/null nohup.out
    nohup /jenkins/tools/hudson.model.JDK/bin/java -jar /jenkins/workspace/test/target/progen-0.0.1.jar com.progen.Application &
    exit 0
    

    其实是本地运行,就“偷懒”使用jenkin安装的那个( /jenkins/tools/hudson.model.JDK/bin/java),而/jenkins/workspace/test/target/为打包的路径,所以在source files 和Remote directory没有配置,既没有吧本地的jar包传输到远程目录。


    image.png

    仅配置运行脚本


    image.png

    这里运行的时候需要加上nohup ,不然运行结束后jenkins没有判断为成功结束,构建结果会显示为超时而不是成功。

    image.png

    相关文章

      网友评论

        本文标题:linux环境下使用docker:jenkins对spring

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