基于Docker+Jenkins+Git的集成开发环境搭建

平台框架 0 1470
小小草
小小草 2020年8月15日 07:41 发表
摘要: Docker是基于Go语言编写, 用于解决运行环境和配置问题的软件容器 , 并方便做持续集成和整体发布的开源容器引擎 Docker详细内容学习

基于Docker+Jenkins+Git的CI&CD发布环境的搭建

    第一章: 是什么

    Docker

    Docker是基于Go语言编写, 用于解决运行环境和配置问题软件容器 , 并方便做持续集成和整体发布开源容器引擎
    Docker详细内容学习
    Docker简要内容学习

    Jenkins

    Jenkins是基于Java语言编写, 用于持续、自动构建/测试软件项目持续集成(CI)工具
    简书大佬讲解的关于Jenkins的教程
    Jenkins中文官方文档

    GIT

    Git是基于C编写, 用于敏捷高效地对项目进行持续集成分布式版本控制系统
    Git简要教程

    持续集成(CI)是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。
    通俗的说,就是指对于开发人员的每一次代码提交,都自动地把Repository中所有代码Check out到一个空目录,并且自动运行所有Test Case。如果成功则接受这次提交,否则告诉所有人,这是一个失败的Revision。

    第二章: 做什么

    开发人员开发代码完成后, 将代码上传到git上面, git hook调用脚本将项目在Jenkins上进行构建. Jenkis构建完成后通过shell脚本将项目通过Docker打包成镜像文件, 通过将镜像文件部署到网站上, 我们就可以下载并运行镜像后直接在网页上面看到开发的成果了. 如下图:
    整体流程

    整个流程的核心: Docker与Jenkins的结合

    • 通过Docker管理Jenkins资源
    • 通过Jenkins创建Docker镜像

    第三章: 怎么做

    1. 提前准备

    •  一台提供Git服务的服务器(也可直接使用github或oschina服务);

    •  一台运行Jenkins服务的服务器;

    •  一台或若干Docker宿主机服务器;

    2. 搭建环境

    # 0. 在安装Jenkins的服务器上提前安装tomcat, maven以及JDK
    
    # 1. 部署安装Jenkins(实际工作中Jenkins,docker,git应该不同服务器中, 但是非工作环境下服务器资源有限,因此安装在一个服务器下)
    # a.在tomcat的webapps目录下,放入下载好的Jenkins的war包,下载地址如下(图1)
    https://www.jenkins.io/download/
    # b.启动tomcat,登陆Jenkins(图2)
    http://4host:8080/jenkins/
    # c.查看密码,复制密码到图2的管理员密码下, 成功后根据提示创建Jenkins的管理员账号和密码
    cat /root/.jenkins/secrets/initialAdminPassword
    
    # 2.搭建Docker宿主机, 安装步骤可见本人docker博客或者官网的安装文档
    https://blog.csdn.net/qq_43371556/article/details/102631158
    https://docs.docker.com/get-docker/
    
    ps: 也可通过本次尝试的方法,利用yum命令进行直接下载. 步骤如下
    a.下载docker
    yum install docker 
    b.指定docker账号,用于专门登录docker 
    useradd -g docker docker -d /home/docker -s /bin/bash
    c.修改账户docker的密码也为docker
    echo "docker:docker" | chpasswd 
    d.创建父目录,该目录用于存放docker脚本,脚本deploy.sh见附件
    mkdir /data/dokerfiles/scripts -p
    e.赋予该文件夹属主为docker
    chown -R docker:docker /data/dockerfiles
    chmod +x deploy.sh
    f.启动docker后,配置docker镜像加速,加速网址 https://www.daocloud.io/mirror#accelerator-doc
    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
    systemctl daemon-reload
    systemctl restart docker
    g.重启docker后下载Tomcat镜像
    docker pull tomcat
    
    
    # 3.登录到Jenkins图形化页面( http://ip:8080/jenkins/ )

    图1
    在这里插入图片描述

    图2
    在这里插入图片描述

    3. 操作Jenkins

    ## 一. 登录到Jenkins后,进行配置
    # 1. 进行全局配置, 配置Maven,git,jdk等相关参数,见(图1-4),作用是指定这些软件或者配置文件的位置
    # 2. 进行系统配置, 配置Publish over SSH, 作用是通过ssh的作用将项目部署到宿主机上, 如图5
    # 3. 配置完成以后, 为了能够创建maven项目需要下载相关插件, 首先查看已安装的插件,安装如下插件(图6,图7)
    Git Parameter Plug-In
    GIT server Plugin	
    GitHub Branch Source Plugin
    Maven Integration plugin
    Publish Over SSH
    Subversion Plug-in
    GitLab
    SSH
    
    ## 二. 安装插件
    # 4. 安装方式
    a. 在安装插件的页面有Updates,Available,Installed,Advanced, 分别代表可更新的,可下载的,已安装的,以及高级配置
    b. 点击可下载的,在里面输入需要下载的插件名称 (需要什么就下载什么)

    图1
    在这里插入图片描述
    图2
    在这里插入图片描述
    图3
    在这里插入图片描述
    图4
    在这里插入图片描述

    图5
    在这里插入图片描述

    图6
    在这里插入图片描述
    图7
    在这里插入图片描述

    4. 创建项目

    ## 一. 选择左侧工具栏, new item,创建maven项目
    # 1. 在通用配置中, 配置
    a. git参数, 用于将项目通过指定分支构建; string类型参数, 用于后期项目名称的统一定义(图1)
    b. 源代码管理, 配置git仓库的url, 发布的分支(图2)
    c. 构建后的配置, 配置docker相关参数信息(图3)
    
    ## 二. 构建项目
    # 1. 在首页项目的name右边,点击倒三角, 选择Build with parameters(图4)
    # 2. 构建成功后git/svn上面的项目即可被打包成镜像文件, 我们下载并运行相关镜像文件即可访问项目

    图1
    在这里插入图片描述

    图2
    在这里插入图片描述
    图3
    在这里插入图片描述

    图4
    在这里插入图片描述
    图5
    在这里插入图片描述
    图6
    在这里插入图片描述

    1. 需要注意的是,在构建项目后,需要根据模块去构建项目, 而不能整体的去构建项目
    2. 构建成功后,会将项目代码生成docker镜像文件,在docker所在宿主机上下载代码即可运行构建后的项目(而本实战使用了脚本,在构建后会自动的部署项目并运行)

    摘自:https://blog.csdn.net/qq_43371556/article/details/107588909


    点赞 0 收藏(0)    分享
    相关标签: Docker Jenkins Git
    问题没解决?让AI助手帮你作答 AI助手
    0 个评论
    • 消灭零评论