其他分享
首页 > 其他分享> > Docker+Jenkins实现spring-boot项目持续集成

Docker+Jenkins实现spring-boot项目持续集成

作者:互联网

  1. Jenkins配置-源码
    Docker+Jenkins实现spring-boot项目持续集成

  2. Jenkins配置-构建触发器
    Docker+Jenkins实现spring-boot项目持续集成

  3. Jenkins配置-构建环境
    Docker+Jenkins实现spring-boot项目持续集成
    构建前,从集中存放配置文件的GitLab中拉取最新配置文件,包含Dockerfile,后面开始构建会引用最新文件。

    cd /data/httpd/release/b2b-configuration;git pull
    sleep 3;
    yes | cp -rfp  /data/httpd/release/b2b-configuration/Spring-partner/QA/application.yml  /home/jenkins/.jenkins/workspace/b2b-partner-test/src/main/resources/
    yes | cp -rfp  /data/httpd/release/b2b-configuration/Spring-partner/QA/Dockerfile  /home/jenkins/.jenkins/workspace/b2b-partner-test/
  4. Jenkins配置-构建和构建后操作
    Docker+Jenkins实现spring-boot项目持续集成
    先同步jar包和Dockerfile到Docker那台server上,然后用expect交互命令将shell脚本发送到Docker那台server上,进行docker容器的构建、启动、push到阿里云镜像仓库等操作。
    Jenkins这台server的rsync脚本:bash /home/jenkins/docker-test/script/b2b-rsync.sh b2b-partner-test 后带参数。
    rsync同步脚本:
    #!/bin/bash
    IP=10.10.10.10
    PASSWD=p@ssword1
    echo -e "开始同步jar包..."
    rsync -vzrtopg --numeric-ids --progress --password-file=/etc/rsyncd.password6 /home/jenkins/.jenkins/workspace/$1/target/b2b-partner.jar root@$IP::$1
    echo -e "开始同步Dockerfile..."
    rsync -vzrtopg --numeric-ids --progress --password-file=/etc/rsyncd.password6 /home/jenkins/.jenkins/workspace/$1/Dockerfile root@$IP::$1
    expect /home/jenkins/docker-test/script/image_b2b.exp $IP $PASSWD $1

    expect交互命令脚本:/home/jenkins/docker-test/script/image_b2b.exp

    #!/usr/bin/expect -f
    set ipaddress [lindex $argv 0]
    set passwd [lindex $argv 1]
    set jobname [lindex $argv 2]
    spawn ssh xiaoyu@$ipaddress;
    expect "password:";
    send "$passwd\r";
    expect "#"
    send "sudo nohup /data/docker/layout-script/docker-qa.sh $jobname  >> /data/docker/logs/$jobname.log &\r"

    注意:执行上面expect脚本前,需将ssh的用户,到对方server的visudo配置中加入:xiaoyu ALL=(ALL) NOPASSWD: ALL, 要不然用户无法ssh过去。

标签:partner,spring,boot,echo,Jenkins,jenkins,docker,b2b
来源: https://blog.51cto.com/10874766/2425252