GitLab CI/CD

1、持续集成(Continuous Integration)

        持续集成指的是频繁的将代码集成到主干,每次集成都通过自动化的构建(包括编译、发布、自动化测试)来验证,它的好处主要有两个:

       快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易;
       防止分支大幅偏离主干。如果不经常集成,很容易导致集成难度变大,以至于难以集成。

2、GitLab CI/CD

        从8.0版开始,GitLab持续集成(CI)完全集成到GitLab本身,它还具有持续部署和持续交付功能,可用于构建、测试和部署你的应用程序。下面是GitLab CI/CD流程图。 

那么怎样让GitLab CI工作起来呢?总结起来就两条:

        将.gitlab-ci.yml文件添加到远程仓库的根目录;
        将GitLab项目配置为使用Runner 

        设置好这些后,你每次push代码到Git仓库,Runner都会自动触发CI pipeline,你可以在项目的Pipelines页面下。如下图所示:

       如果一切运行正常,你可以看到绿色复选标记,这样你就可以在查看代码之前轻松查看任何提交是否导致测试失败。

3、.gitlab-ci.yml

        那么.gitlab-ci.yml是什么,怎么创建呢?下面就来了解一下。
        .gitlab-ci.yml文件配置CI对项目执行的操作,它告诉GitLab runner该做什么。它位于存储库的根目录中,你代码的每次提交,GitLab都会查找.gitlab-ci.yml这个文件,并根据这个文件的内容,在Runner上启动你提交的工作。默认情况下,它运行一个包含三个stage的管道:build,test,deploy。你不需要使用所有三个stage,没有工作的stage将会被忽略。

4、创建.gitlab-ci.yml文件

.gitlab-ci.yml是一个YAML文件,所以你必须特别注意缩进。始终使用空格键,而不是Tab键。

       你需要在你仓库的根目录下创建一个名为.gitlab-ci.yml的文件,下面是一个我创建的HelloWorld的SpringBoot测试项目编写的.gitlab-ci.yml文件。

stages:
- build
- test
- deploy

build_maven:
  stage: build
  script:
  - echo "build maven....."
  - echo "mvn clean"
  - echo "done"

test_springboot:
  stage: test
  script:
  - echo "run java test....."
  - echo "java -test"
  - echo "done"

deploy_springboot:
  stage: deploy
  script:
  - echo "deploy springboot...."
  - echo "run mvn install"
  - echo "done"

        上面的配置主要做的件事:

               在每个阶段完成时输出测试信息(以build阶段的输出信息为例,见下图)

GitLab CI/CD工作原理及使用

gitlab中CI/CD自动化部署使用

猜你喜欢

转载自blog.csdn.net/m0_37732829/article/details/85246273