• docker+jenkins实现持续集成


    持续集成的概念我就不多说了,网上一大堆,今日主要讲讲怎么通过docker 和jenkins实现项目的持续集成。看着简单,网上完整教程很少,本人摸索很久才搞定!!!

    一、首先安装docker。安装过程可以自行百度

    二、通过docker拉取jenkins镜像:拉取镜像也很简单,可直接通过docker pull jenkins即可获取。也可从docker.hub上获取官方长期支持的镜像:docker pull jenkins/jenkins:lts

    三、获取到镜像后。可通过docker images来查看 已获取到的镜像列表

    docker+jenkins实现持续集成

    已有的镜像列表

    四、开始运行jenkins镜像

    运行jenkins前首先明确几点:

    1、端口映射:通过端口映射的方式将容器的相关端口映射到主机上

    (1)jenkins是一个镜像,通过运行jenkins镜像,产生jenkins容器,容器寄主在主机上,想访问jenkins容器,就得通过主机访问,此时就需要一个容器与主机的映射端口:-p 主机映射端口号:容器端口号(-p 12000:8080)

    (2)同理,访问了jenkins容器后,需要对jenkins的持续集成进行相关配置与项目的配置,项目在jenkins容器中,访问项目也需要将项目端口号映射到主机,同上-p 主机映射端口号:项目端口号(-p 8090:8090)

    2、挂载:通过挂载的方式将容器的文件路径挂载到主机目录下

    (1)maven仓库挂载:减少每次构建项目时maven依赖从远程拉取的工作-v 主机目录:jenkins目录(-v /opt/repository:/opt/repository)

    (2)jar包文件挂载:将打好的jar包通过挂载到主机上

    了解以上几点后,开始运行jenkins

    docker run -d -u root -p 11000:8080 -p 11089:8089 -v /opt/repository/:/opt/repository/ -v /var/jenkins_home/:/var/jenkins_home/ -v /jenkins/project/:/jenkins/project/ 5907903170ad

    通过docker ps -s查看正在运行的镜像

    docker+jenkins实现持续集成

    jenkins镜像已运行

    接下来需要访问jenkins:http://localhost:11000

    docker+jenkins实现持续集成

    jenkins

    稍等片刻。

    docker+jenkins实现持续集成

    根据提示寻找登录密码

    cat /var/jenkins_home/secrets/initialAdminPassword
    docker+jenkins实现持续集成

     

    输入密码后,等待登录。

    docker+jenkins实现持续集成

    下载插件

    选择 左边的install supported plugins下载插件,下载过程有点慢,请耐心等待。

    插件下载完成后,完成用户信息,密码用登录的密码

    docker+jenkins实现持续集成

     

    在主机上将jdk与maven的目录复制到jenkins_home下

    docker+jenkins实现持续集成

     

    配置jenkins:

    docker+jenkins实现持续集成

     

    配置settings.xml与jdk和maven

    docker+jenkins实现持续集成

     

    docker+jenkins实现持续集成

     

    配置完成后,需要再下载一个插件:Maven Integration

    docker+jenkins实现持续集成

     

    docker+jenkins实现持续集成

     

    接下来开始配置项目了:

    回到jenkins首先,create new job

    docker+jenkins实现持续集成

     

    配置git信息

    docker+jenkins实现持续集成

     

    配置打包信息与项目执行脚本

    docker+jenkins实现持续集成

     

    执行脚本:

    #!/bin/bash -ile
    project=jenkins.jar
    pathName=springboot_jenkins
    echo "拷贝文件"
    rm -rf /jenkins/project/$project
    cp /var/jenkins_home/workspace/$pathName/target/$project /jenkins/project/
    echo "切换路径"
    cd /jenkins/project/

    pid=`ps -ef | grep $dir$project | grep -v grep | awk '{print $2}'`
    if [ -n "$pid" ]
    then
    kill -9 $pid
    echo "杀死存在进程"
    fi
    BUILD_ID=dontKillMe
    echo "执行"
    nohup java -jar $project &
    echo "启动成功!"

    配置好之后,就开始构建项目了:

    docker+jenkins实现持续集成

     

    jenkins构建成功:

    docker+jenkins实现持续集成

    构建成功

    docker+jenkins实现持续集成

     

    现在访问项目:

    http://ip:11089/test/a

    docker+jenkins实现持续集成

    项目运行成功

    到此结束,以后只要把项目更新到git上,可以定时构建项目,也可以手动触发构建。

  • 相关阅读:
    变量1
    PHP 函数
    发送post请求
    XXE
    CSRF
    Html基础
    暴力破解
    Brup sute
    XSS
    URL 传参转义 (特殊符号转义)
  • 原文地址:https://www.cnblogs.com/wangsongbai/p/10299716.html
Copyright © 2020-2023  润新知