首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Gitlab将控制配置项的规则从only/except更改为规则,有什么替代方案

GitLab将控制配置项的规则从only/except更改为规则,这是GitLab 13.4版本引入的新功能。这个新的规则功能提供了更灵活和可扩展的配置选项控制方式。

替代方案是使用规则(rules)关键字来定义配置项的条件。规则是一个包含多个条件的列表,每个条件都可以包含一个或多个键值对。每个规则都会按顺序进行评估,直到找到匹配的规则为止。如果没有规则匹配,则使用默认配置。

以下是一个示例配置,展示了如何使用规则来替代only/except:

代码语言:txt
复制
job:
  script:
    - echo "This is a job"
  rules:
    - exists:
        - Dockerfile
      changes:
        - Dockerfile
      when: always
    - exists:
        - README.md
      changes:
        - README.md
      when: on_success
    - exists:
        - .gitlab-ci.yml
      changes:
        - .gitlab-ci.yml
      when: manual
    - exists:
        - app/**/*.rb
      changes:
        - app/**/*.rb
      when: never
    - exists:
        - config/**/*.yml
      changes:
        - config/**/*.yml
      when: delayed

在上面的示例中,根据不同的条件,定义了不同的规则。每个规则都包含一个exists条件和一个changes条件,以及一个when关键字来指定触发该规则的时机。根据文件的存在性和变更情况,可以触发不同的规则。

这个新的规则功能使得配置项的控制更加灵活和可读性更高。它可以根据项目的需求和特定的条件来定义不同的行为。更多关于规则的详细信息可以参考GitLab官方文档

对于GitLab的用户,推荐使用GitLab CI/CD来管理和自动化构建、测试和部署流程。GitLab CI/CD是一个强大的持续集成和持续交付平台,可以与GitLab无缝集成。它提供了丰富的功能和工具,帮助开发团队更高效地进行软件开发和交付。您可以在腾讯云容器服务中了解更多关于容器化部署的信息,以及如何在腾讯云上使用GitLab CI/CD。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CentOS7操作系统如何搭建GitLab

CentOS7搭建GitLab 环境要求:内存至少4G,GitLab是很耗内存滴 一、 安装并配置必要的依赖关系 在 CentOS 系统上,下面的命令将会打开系统防火墙 HTTP 和 SSH 的访问。 $ sudo yum install -y curl policycoreutils-python openssh-server $ sudo systemctl enable sshd $ sudo systemctl start sshd $ sudo firewall-cmd --permanent --add-service=http $ sudo systemctl reload firewalld 安装 Postfix ,用来发送邮件,在安装 Postfix 的过程中选择 'Internet Site'。 $ sudo yum install postfix $ sudo systemctl enable postfix $ sudo systemctl start postfix 也可以配置自定义的 SMTP 服务器。 二、 添加 GitLab 镜像仓库并安装 gitlab-ce 是社区版,免费 gitlab-ee 是企业版,收费 2.1 使用官方镜像安装 $ curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash $ sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ce # 安装 GitLab 2.2 使用国内镜像安装(推荐) 如果提示连接超时,可以使用 清华大学开源软件镜像站:https://mirror.tuna.tsinghua....。 进入该网站后,有详细的安装步骤,跟着安装即可。 这里介绍一下在CentOS中使用 清华大学开源软件镜像站安装: 先还原yum源, 删掉gitlab-ce源 : $ ls -l /etc/yum.repos.d/ # 查看源配置项 $ mv /etc/yum.repos.d/gitlab_gitlab-ce.repo /etc/yum.repos.d/gitlab_gitlab-ce.repo.bak # 备份源配置项(也可以直接删除 rm) 新建 /etc/yum.repos.d/gitlab-ce.repo,内容为 [gitlab-ce] name=Gitlab CE Repository baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 enabled=1 再执行 $ sudo yum makecache $ sudo yum install gitlab-ce 安装完以后 /opt/gitlab/ 目录结构 /opt/gitlab/ ├── backups ├── git-data │ └── repositories │ └── root ├── gitlab-ci │ └── builds ├── gitlab-rails │ ├── etc │ ├── shared │ │ ├── artifacts │ │ ├── lfs-objects │ │ └── pages │ ├── sockets │ ├── tmp │ ├── upgrade-status │ ├── uploads │ └── working ├── gitlab-shell ├── gitlab-workhorse ├── logrotate │ └── logrotate.d ├── nginx │ ├── client_body_temp │ ├── conf │ ├── fastcgi_temp │ ├── logs -> /var/log/gitlab/nginx │ ├── proxy_cache │ ├── proxy_temp │ ├── scgi_temp │ └── uwsgi_temp ├── postgresql │ └──

05

Gitlab 升级那些事儿

Gitlab 的升级策略似乎已经在 私有代码托管平台的搭建与运维 中解释得比较详细了,但实际上忽略了秘钥文件 /home/git/gitlab/config/secrets.yml 和 /home/git/gitlab/config/gitlab.yml 的备份。这两个文件不是在容器内的代码文件里面吗?为什么又需要备份这两个秘钥文件呢?其实为了安全性的考虑,Gitlab 自带的备份工具只会备份包括数据库、数据文件以及基本配置信息,而秘钥作为安全文件不在备份之列。这两个秘钥文件涉及到数据库中某些加密字段的加密和解密过程,如果没有这两个原始文件或者使用了新的文件,那么 Gitlab 将无法对这些数据库中已有的加密字段进行解密,从而影响到某些页面的使用,尤其是管理员界面。

02
领券