写点什么

使用 Gitlab Jenkins Docker 建立 CI 部署方案

作者:沃德
  • 2022 年 7 月 11 日
  • 本文字数:1787 字

    阅读完需:约 6 分钟

本文 Docker 部分内容忽略

Git

Git 是一个分布式版本控制软件,与 svn 不同,不再依赖唯一的、集中式的版本库,而是每个开发者本地都拥有一份完整的版本库。 Git 并不排斥集中式的使用模式,但更倾向于将集中式版本库称为共享版本库。

GitLab

GitLab 是一个数据库支持的 web 应用,与 Github 类似,相信大家都用过 Github,那么再接触 GitLab 就很简单了。

Docker 安装 GitLab
sudo docker pull gitlab/gitlab-ce:latest
复制代码
启动 GitLab
sudo docker run --detach \    --hostname gitlab.example.com \    --publish 443:443 --publish 80:80 --publish 22:22 \    --name gitlab \    --restart always \    --volume /srv/gitlab/config:/etc/gitlab \    --volume /srv/gitlab/logs:/var/log/gitlab \    --volume /srv/gitlab/data:/var/opt/gitlab \    gitlab/gitlab-ce:latest
复制代码
服务地址
http://10.89.9.141
复制代码
使用流程
  1. 登录 GitLab

  2. 切换到 Projects,点击 New project

  3. 填写项目名和项目描述信息,确认你的项目可见等级是 Private,Internal 还是 Public

  4. 设置 git 全局配置

  5. 创建一个仓库 repository

  6. commit 到本地并 push 到 remote

Jenkins

Jenkins 是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台。这是一个免费的源代码,可以处理任何类型的构建或持续集成。集成 Jenkins 可以用于一些测试和部署技术。Jenkins 是一种软件允许持续集成。是开源的 java 语言开发持续集成工具,支持 CI,CD。易于安装部署配置:可通过 yum 安装,或下载 war 包以及通过 docker 容器等快速实现安装部署,可方便 web 界面配置管理。消息通知及测试报告:集成 RSS/E-mail 通过 RSS 发布构建结果或当构建完成时通过 e-mail 通知,生成 JUnit/TestNG 测试报告。

maven 配置

系统管理—全局工具配置(Maven Configuration)配置

JDK 配置

系统管理—全局工具配置(JDK)配置

GIT 配置

手动安装的 git,web 界面只需添加具体可执行路径即可,这里还要注意 Git 和 maven 的使用需要再系统管理-插件管理中安装相应的插件才能使用。

使用流程
  1. 提交完代码到 remote 后,新建 job

  2. 输入 job 名称,选择构建一个自由风格的软件项目/构建一个 maven 项目(安装 maven 插件后才会出现这一选项),这里可以根据自己自动化构建的项目类型选择相应的项目构建方式,如 springboot 的项目应该选择构建一个 maven 项目,vue 项目应该选择自由风格的项目。

  3. 添加项目描述,源码管理选择相应的版本管理工具,我们使用的是 git,选择 git 后,填写 Repository URL 和 Credentials,可以是用户名密码(如果添加了 ssh key 可以直接使用)

  4. build 的话 直接使用 Root POM - pom.xml

  5. 很多时候我们构建打包完成需要做一些个性化部署的事情(当然这些部分也可以在构建后操作里添加,看自己喜好)我们要写成脚本添加到 Post Steps,如下:

  6. 构建设置可以添加 E-mail Notification,发布完成可以给配置的邮件发送邮件。

  7. 到此,一次打包发布就 over 了,喝杯茶吧~

showdoc

简单介绍一下 showdoc 吧,就是做 API 文档的,现在国内国外这种文档平台还是不少的,那么简单介绍一下 showdoc 的优势


  1. 支持 markdown 语法(所有的 api 接口写作现在都支持这个吧,因为他现在太方便了)

  2. 支持多用户协作,你可以在项目下面随意添加多个用户一起完成 api 文档的写作。

  3. 可以分享并导出项目,生成需要的文档格式如 doc,可以离线浏览

  4. 支持响应式,手机电脑同样精彩

  5. 支持项目转让

  6. 支持模版插入

  7. 支持历史版本,你可以把操作恢复到以前的版本。

  8. 可以通过一个在线测试 api 的工具,直接生成 markdown,你几乎不用写代码就能过所有的参数自动生成


还是比较方便的,大家可以用用看看


这是官方地址


https://www.showdoc.cc/web/#/  
复制代码


这是我们的服务


http://10.89.9.141:4999/web/#/user/login?redirect=%2Fitem%2Findex
复制代码

Sonarqube

Sonar 是一个用于代码质量管理的开源平台,用于管理 Java 源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如 pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。


这个平台稍微有点重,评估了下现阶段我们还用不太到,后续补充。欢迎斧正~

用户头像

沃德

关注

我就是个零 2018.06.14 加入

程序员而已

评论

发布
暂无评论
使用Gitlab Jenkins Docker建立CI部署方案_程序员_沃德_InfoQ写作社区