一. GitLab-CI/CD入门

1. 背景说明:

对此感兴趣,主要是一次查看gitlab时,看到这个东西:

一. GitLab-CI/CD入门_第1张图片

 一. GitLab-CI/CD入门_第2张图片

 2. GitLab CI/CD 介绍

a. GitLab CI/CD 是一个内置在GitLab中的工具,用于通过持续方法进行软件开发;

  • CI:Continuous Integration(持续集成)。自动构建和测试每次提交的代码,以确保所引入的更改符合所有测试、准则和代码合规性标准。
  • CD:Continuous Delivery(持续交付)和Continuous Deployment(持续部署)。基于CI,前者侧重于交付给客户或质量团队(比如决定是否对新版本进行压测),而后手动部署/自动部署,如果是自动部署的话就是持续部署了。

b.  使用GitLab CI/CD,需要在GitLab上进行程序代码托管,并且在根目录中创建.gitlab-ci.yml文件。在文件中编写构建、测试和部署的脚本。其中可包含定义的依赖,按照顺序执行的命令等;

c. GitLab-CI/CD流程示例:

一. GitLab-CI/CD入门_第3张图片

从左往右看,首先研发人员完成需求提交代码到 GitLab。GitLab 触发一次 Build,构建好服务,然后开始跑单元测试、集成测试。等待测试结果通过后,再由负责该项目的同事进行 CodeReview,灰度发布,正式部署到线上。

简单来说:代码库—>提交代码—>进行构建等—>部署;

3. 相关概念

a. Pipline:(官网说明)

Pipelines comprise:

  • Jobs, which define what to do. For example, jobs that compile or test code.
  • Stages, which define when to run the jobs. For example, stages that run tests after stages that compile the code.

Jobs are executed by runners. Multiple jobs in the same stage are executed in parallel, if there are enough concurrent runners.

b. Stages:

  • Manage:项目周期或团队周期的各项数据统计分析。主要是各环节耗时统计,比如对于典型的Issue(提出问题)->Plan(列入计划)->Code(编码)->Test(测试)->Package(打包)流程,每个环节的耗时决定了整体问题处理的响应速度。
  • Plan:借助诸多工具进行有效的项目管理。
  • Create:代码管理。
  • Verify:代码质量分析、代码合并(持续集成)、单元测试等。
  • Package:将代码打包,并作为依赖库对外提供。
  • Secure(ULTIMATE版提供):检查应用程序是否存在可能导致未经授权访问、数据泄漏或拒绝服务的安全漏洞。GitLab可以对应用程序的代码执行静态和动态测试,查找已知的缺陷并在合并请求中报告它们。然后可以在合并之前修复缺陷。安全团队可以使用仪表板获取项目和组的高级视图,并在需要时启动修正过程。
  • Release:持续交付。
  • Configure:配置[文件]参与DevOps各环节。
  • Monitor:GitLab收集并显示已部署应用程序的性能指标,以便您可以立即知道代码更改如何影响生产环境。
  • Defend:若干用于服务安全防御的中间件。

上述包含了GitLab-DevOps整个流程的所有环节,CI/CD只是其中的一部分。

4. GitLab Runner

a. 可以安装在任意机子上,通过它可以[在一台机子上]注册多个runner实例到gitlab服务器。每个runner用于执行一个或多个具体任务(如build、test)。

相当于:每个任务(stage)—>依赖一个runner进行执行;

b. Gitlab CI Runner安装(docker方式进行安装)

docker pull gitlab/gitlab-runner:latest

docker run -d --name test-runner --restart always \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:latest

runner部署成功,留意这个文件: /etc/gitlab-runner/config.toml

这一篇,就先讲到这里,请关注后续...

你的努力,终将成为你最有力的资本! 

你可能感兴趣的:(gitlab自动化部署,运维开发,gitlab,docker)