前言

距离上次写博客已经过了大半年了,这中间也是因为各种原因导致博客一直没更新(其实是懒)。趁着刚开年公司还没什么重要的事情,把实习以来学到的东西总结一下。

主题

随着公司的日益扩大,开发人员的增多,公司逐步开始考虑采取DevOps的开发流程,而今天所记录的也是DevOps的基础,通过Jenkins+Gitlab实现代码推送到仓库自动进行测试和部署。这次我会通过为实验室搭建的内部wiki为例具体说一下用法。

关于两个平台

  • Gitlab: 使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。

  • Jenkins: 一款由Java编写的开源的持续集成工具。

实验环境搭建

这个就不过多描述了,关于Gitlab和Jenkins搭建的教程Google一下有一大堆。保证两个服务器能通信就可以。

开始部署

创建Gitlab项目

首先新建一个Gitlab项目,创建完后放入部分文件

Gitlab+Jenkins 实战自动化集成部署_第1张图片

创建Jenkins项目

在Jenkins里新建一个项目(这里选择多分支流水线)

Gitlab+Jenkins 实战自动化集成部署_第2张图片

关于各项目的用途及优缺点介绍:

  • Freestyle Job
    需在页面添加模块配置项与参数完成配置
    每个Job只能实现一个功能
    无法代码化,不利于迁移与版本控制

  • 流水线项目
    所有参数都可以体现为一个pipeline脚本
    可以定义多个stage构建一个管道工作集
    配置代码化,方便Job配置迁移与版本控制
    脚本写在Jenkins项目里

  • 多分支流水线
    优点同流水线
    脚本写在GitLab项目里(Jenkinsfile)

    然后进行配置代码仓库和口令(没有这个选项去安装git插件即可)
    Gitlab+Jenkins 实战自动化集成部署_第3张图片

此时Jenkins会去扫描Gitlab里的项目分支(点击 扫描 多分支流水线 Log 可查看扫描日志),这里只有master
Gitlab+Jenkins 实战自动化集成部署_第4张图片

点击分支的名称旁边的箭头下拉,有一个查看配置选项,在里边有一个很重要的点:

Gitlab+Jenkins 实战自动化集成部署_第5张图片

GitLab 配置Jenkins项目

在这里我们根据图中配置上边圈出来的地址即可

Gitlab+Jenkins 实战自动化集成部署_第6张图片

到这里整个配置流程就已经结束了,但是可能有些朋友会问为什么我照做了如何配置自动部署呢?

其实主要核心点在Jenkinsfile上。

限于篇幅原因,下一篇我会写一下Jenkinsfile的用法。