gitlab--services、environment、inherit

简介: gitlab--services、environment、inherit

services


services 关键字定义了一个 Docker 镜像,该镜像在链接到 image 关键字定义的 Docker 镜像的 job 期间运行。这允许您在构建期间访问服务镜像。

服务镜像可以运行任何应用程序,但最常见的用例是运行数据库容器,例如:

例如,每次构建项目时,使用现有镜像并将其作为附加容器运行比安装 mysql 更容易、更快。

不仅限于数据库服务,您可以在 .gitlab-ci.yml 中添加任意数量的 services 或手动修改 config.toml。 在 Docker Hub 或您的私有容器镜像中找到的任何镜像,都可以用作服务


inherit


使用或禁用全局定义的环境变量(variables)或默认值(default)。

之前我们使用 default 的例子如下

default: # 定义了一个默认的参数
  tags: # 如果 job 里没有 tages,就使用这个 tags
    - build
  retry: # 如果 job 里没有 retry,就使用这个 tags
    max: 2
  before_script: # 如果 job 里没有 before_script,就使用这个 tags
    - echo "before_script"
stages:
  - build
  - test
build:
  stage: build
  before_script:
    - echo "我是 job 里的"
  script:
    - echo "我是 build 的 job"
test:
  stage: test
  script:
    - echo "test 的 job"

这样的话,build 和 test 的 job 都会使用 default 下定义的值,如果我们不想某些 job 使用的话,就可以使用 inherit 了,inherit 的值有 true、false 决定是否使用,默认为true

我们也可以取消,如下

default: # 定义了一个默认的参数
  tags: # 如果 job 里没有 tages,就使用这个 tags
    - build
  retry: # 如果 job 里没有 retry,就使用这个 tags
    max: 2
  before_script: # 如果 job 里没有 before_script,就使用这个 tags
    - echo "before_script"
stages:
  - build
  - test
build:
  stage: build
  before_script:
    - echo "我是 job 里的"
  script:
    - echo "我是 build 的 job"
test:
  stage: test
  tags:
    - build
  script:
    - echo "test 的 job"
  inherit:
    default: false # 不使用定义的 default,全部
    variables: false # 不使用定义的全局变量,全部

运行流水线,查看结果

我们也可以使用其中的某些默认值或者变量,如下

default: # 定义了一个默认的参数
  tags: # 如果 job 里没有 tages,就使用这个 tags
    - build
  retry: # 如果 job 里没有 retry,就使用这个 tags
    max: 2
  before_script: # 如果 job 里没有 before_script,就使用这个 tags
    - echo "before_script"
stages:
  - build
  - test
build:
  stage: build
  before_script:
    - echo "我是 job 里的"
  script:
    - echo "我是 build 的 job"
test:
  stage: test
  tags:
    - build
  script:
    - echo "test 的 job"
  inherit:
    default: # 使用默认值下面的两个变量 before_script 和 retry
      - before_script
      - retry
    variables: false # 不使用所有环境变量

流水线运行结果


相关文章
|
Kubernetes 测试技术 开发者
在GitLab CI/CD中使用environment对部署环境进行管理
在GitLab CI/CD中使用environment对部署环境进行管理 关键词environment的详细解释
710 0
在GitLab CI/CD中使用environment对部署环境进行管理
|
6月前
|
Linux 应用服务中间件 网络安全
linux安装Gitlab
linux安装Gitlab
167 0
|
6月前
|
缓存 数据安全/隐私保护 Docker
安装gitlab
安装gitlab
309 0
|
3月前
|
Shell Docker 容器
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
GitlabCI学习笔记之一:安装Gitlab和GitLabRunner
|
2月前
|
Docker 容器
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
Docker安装Gitlab和Gitlab-Runner并实现项目CICD
|
4月前
|
Devops 持续交付 开发工具
入职必会-开发环境搭建54-GitLab下载和安装
GitLab 是一个基于 web 的 Git 仓库管理工具,提供了代码托管、版本控制、协作开发、持续集成等功能,是一个综合的 DevOps 平台。用户可以使用 GitLab 托管他们的代码仓库,并利用其丰富的功能来管理和协作开发项目。 以下是 GitLab 的一些主要特点和功能。
入职必会-开发环境搭建54-GitLab下载和安装
|
3月前
|
Ubuntu 安全 网络安全
在Ubuntu 16.04上安装和配置GitLab的方法
在Ubuntu 16.04上安装和配置GitLab的方法
71 0
|
3月前
|
存储 Ubuntu 安全
在Ubuntu 18.04上安装和配置GitLab的方法
在Ubuntu 18.04上安装和配置GitLab的方法
63 0
|
3月前
|
缓存 Kubernetes Shell
CI/CD:安装配置Gitlab Runner
CI/CD:安装配置Gitlab Runner
309 0
|
5月前
|
持续交付 开发工具 git
阿里云云效产品使用问题之在云效代码域中gitlab使用docker安装的,迁移时遇到“获取企业信息失败”,是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。

相关实验场景

更多