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

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

  • 第一章: 是什么
    • Docker
    • Jenkins
    • GIT
  • 第二章: 做什么
  • 第三章: 怎么做
    • 1. 提前准备
    • 2. 搭建环境
    • 3. 操作Jenkins
    • 4. 创建项目

第一章: 是什么

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+Git的集成开发环境搭建_第1张图片

整个流程的核心: 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
基于Docker+Jenkins+Git的集成开发环境搭建_第2张图片

图2
基于Docker+Jenkins+Git的集成开发环境搭建_第3张图片

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
基于Docker+Jenkins+Git的集成开发环境搭建_第4张图片
图2
基于Docker+Jenkins+Git的集成开发环境搭建_第5张图片
图3
基于Docker+Jenkins+Git的集成开发环境搭建_第6张图片
图4
基于Docker+Jenkins+Git的集成开发环境搭建_第7张图片

图5
基于Docker+Jenkins+Git的集成开发环境搭建_第8张图片

图6
基于Docker+Jenkins+Git的集成开发环境搭建_第9张图片
图7
基于Docker+Jenkins+Git的集成开发环境搭建_第10张图片

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
基于Docker+Jenkins+Git的集成开发环境搭建_第11张图片

图2
基于Docker+Jenkins+Git的集成开发环境搭建_第12张图片
图3
基于Docker+Jenkins+Git的集成开发环境搭建_第13张图片

图4
基于Docker+Jenkins+Git的集成开发环境搭建_第14张图片
图5
基于Docker+Jenkins+Git的集成开发环境搭建_第15张图片
图6
基于Docker+Jenkins+Git的集成开发环境搭建_第16张图片

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

脚本文件deploy.sh
链接:https://pan.baidu.com/s/1kZF59YWulPz9ufbwd6Ordg
提取码:q60e
点击观看该实战配套的视频

亲亲, 这边建议您点个赞赞哦~~~
基于Docker+Jenkins+Git的集成开发环境搭建_第17张图片

你可能感兴趣的:(经验心得,git,docker,jenkens)