gitlab的CI/CD

一、gitlab配置流水线

在项目中设置CI/CD
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4NL0BNOS-1650592674923)(gitlab%E6%B5%81%E6%B0%B4%E7%BA%BF%E9%85%8D%E7%BD%AE.assets/image-20220419160147741.png)]

这个操作会在项目中添加一个名称为".gitlab-ci.yaml"的文件。在文件中编写流水线

二、常用参数

1.before_script

在所有任务之前执行的任务

2.variables

设置.gitlab-ci.yaml文件中使用的变量

3.stages

定义具体阶段执行的顺序

4.stage

定义具体的阶段

5.script

具体要执行的任务语句

6.when

什么时候开始执行任务

on_success:只有前面stages的所有工作成功时才执行。 这是默认值
manual:手动执行

7.only

在那个分支上执行任务

8.tags

指定调用哪个runner来执行任务

三、实例

before_script:
    - echo "开始之前的输出"
    
variables:
    ip: 1.1.1.1
    
stages:
    - install
    - deploy

步骤1:
    stage: deploy
    script:
        - echo "----$ip-----"
    only:
        - master
    tags:
        - build_test
步骤2:
    stage: install
    script:
        - echo "----这是步骤2------"
    only:
        - master
    tags:
        - build_test

1.查看流水线

只要我们在master上有新提交,就会触发流水线
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f5J5WOZk-1650592674926)(gitlab%E6%B5%81%E6%B0%B4%E7%BA%BF%E9%85%8D%E7%BD%AE.assets/image-20220421212326615.png)]

2.查看具体任务 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eWzoAlS7-1650592674927)(gitlab%E6%B5%81%E6%B0%B4%E7%BA%BF%E9%85%8D%E7%BD%AE.assets/image-20220421212610386.png)]

这里可以看到:

这里的步骤2和步骤1是和文件中定义的编写顺序是相反的。所以这说明stages字段定义了stage的执行顺序。

3.查看执行过程

四、实例2

before_script:
    - echo "开始之前的输出"
    
variables:
    ip: 1.1.1.1
    
stages:
    - 安装
    - 部署

步骤1:
    stage: 安装
    script:
        - echo "----$ip-----"
    only:
        - master
    tags:
        - build_test
步骤2:
    stage: 部署
    script:
        - echo "----这是步骤2------"
    only:
        - master
    tags:
        - build_test
    when: manual   #这里我们添加了手动触发

此时我们发现在最新的流水线中,步骤2不再是成功状态。这中状态说明需要手动执行任务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6tP7pN0p-1650592674928)(gitlab%E6%B5%81%E6%B0%B4%E7%BA%BF%E9%85%8D%E7%BD%AE.assets/image-20220421213950961.png)]
手动触发这个任务 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jXTgs3nz-1650592674929)(gitlab%E6%B5%81%E6%B0%B4%E7%BA%BF%E9%85%8D%E7%BD%AE.assets/image-20220421214102224.png)]
执行成功 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ofOhlQdy-1650592674930)(gitlab%E6%B5%81%E6%B0%B4%E7%BA%BF%E9%85%8D%E7%BD%AE.assets/image-20220421214137776.png)]
再返回查看状态,已经变成了成功状态
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-faOVbZhy-1650592674932)(gitlab%E6%B5%81%E6%B0%B4%E7%BA%BF%E9%85%8D%E7%BD%AE.assets/image-20220421214334524.png)]

五、多分支CI/CD实例

生产环境和测试环境都需要配置CI/CD,如果我们写两个gitlab-ci.yml文件来去区分测试和生产。就会出现测试环境提交了代码合并到生产的时候会覆盖生产环境gitlab-ci.yml文件的现象。那么我就可以将生产和测试都写在一个文件中,在only字段中来区分由哪个分支提交数据来触发流水线

stages:
    - deploy
    - install
    
deploy:
    stage: deploy
    script:
        - echo "master-deploy"
    only:
        - master
    
    tags:
        - pangbb-runner

install:
    stage: install
    script:
        - echo "master-install"
    only:
        - master
    
    tags:
        - pangbb-runner

deploy-yanrong:
    stage: deploy
    script:
        - echo "yanrong-deploy"
    only:
        - yanrong
    
    tags:
        - pangbb-runner

install-yanrong:
    stage: install
    script:
        - echo "yanrong-install"
    only:
        - yanrong
    
    tags:
        - pangbb-runner
        
Gitlab CI/CD指的是Gitlab提供的持续集成和持续交付的功能。它可以帮助开发团队实现自动化的构建、测试和部署过程,从而提高开发效率和软件质量。 要使用GitLab CI/CD,需要熟悉.gitlab-ci.yml配置文件的语法及其属性。这个配置文件定义了构建和部署流程的步骤、依赖关系和环境变量等信息。你可以根据项目的需求自定义配置文件,GitLab CI/CD会根据配置文件的内容来执行相应的操作。 GitLab CI/CDGitLab中内置的一个功能强大的工具,它可以将连续集成、交付和部署应用于软件项目,而无需依赖第三方应用程序或集成。具体来说,它通过使用GitLab Runner来执行构建和部署作业,可以支持各种不同的项目类型和编程语言。你可以在GitLab的界面上配置、管理和监控CI/CD管道,查看运行结果和日志。 总之,GitLab CI/CD是一个强大的工具,可以帮助开发团队实现持续集成和持续交付,提高软件开发的效率和质量。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Gitlab CI/CD 简单介绍](https://blog.csdn.net/wangjiang_qianmo/article/details/122867335)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [使用GitLab进行CI/CD简介](https://blog.csdn.net/FatTigerx/article/details/103766541)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值