什么是持续化集成(continous itergration)?为了加快软件开发速度,增强团队成员间的合做力度,简化项目的部署流程,使用一种自动编译、打包、测试、发布等技术来实现自动化的集成项目。在实现这一目标以前,咱们须要作较多的前提工做:java
Gogs是一款简单、易用的git服务软件,和码云,github的性质同样,咱们能够将代码push到这个本身搭建的git服务上。本文针对微服务项目进行讲解,微服务+docker是比较完美的组合,所以Gogs也才用docker容器来部署,具体的搭建步骤以下:
(1)下载Gogs镜像到本地mysql
docker pull gogs/gogs
(2)建立并启动gogs容器git
docker run -di --name=test_gogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs gogs/gogs
(3)配置gogs
当gogs容器启动后,咱们输入相应的http://ip:3000能够访问到gogs应用的后台,在后台配置一些基本信息,如该gogs管理版本库所须要的数据、该服务的访问地址(当前宿主机的ip地址)等,这里选择其自带的小型嵌入式关系型数据库sqlite,固然也能够选择mysql等其余数据库。
(4)用户注册和配置
和github、码云提供的git服务同样,注册用户便可使用。
(5)建立仓库,与在github上的操做相似
注意 因为gogs容器中的ssh端口被映射为宿主机的10022端口,因此在使用ssh协议与gogs进行交互时,会有冲突,暂时没法使用,须要比较繁琐的配置,这里推荐先使用http协议。即3000端口所对应的协议。关于ssh协议的链接,后面有时间在作详细的探索
(6)为了不使用git提交源代码到gogs仓库出现commit rejection的错误,新建仓库时候,最好不要添加任何文件,即建立一个空白的项目,这个错误的根本缘由是由于本地仓库的代码与远程仓库的代码不一致所产生的冲突,哪怕是一个空格也不行。github
jenkins是一款开源的用于代码集成处理的工具,经过使用git插件和maven插件来实现自动化集成项目的功能,所以在安装完jenkins时候,还须要安装两个必要的插件:git和maven,git用于从git服务器上(github或者gitee)下载源码,maven用于管理项目所用到的全部依赖,这里不对具体的细节展开讨论,只对该工具的大概使用流程作一个描述罢了!!!(只有明白每一步配置的缘由才行,碰到问题,具体搜寻答案,思路最重要,解决问题的技巧很重要,找到问题的关键点很重要,相信理性的魅力!)sql
所以jekins集成须要完成如下各个关键步骤:
(1)jekins安装
(2)jekin中git插件和maven插件的安装(两个插件分别用于链接主机git和maven到jekin中,使得jekin可使用主机中的git和maven)
(3)全局的工具设置docker
# 这实际上是maven命令,只是jekins执行了maven命令; #pom.xml文件是包含了依赖包坐标和相应的构建工具:dockers-maven工具等 clean package docker:build ‐DpushImage
(5)点击执行,jekins根据pox.xml文件中插件和依赖的配置,自动实现部署.数据库