首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Gitlab CI:作业配置应至少包含一个可见作业

Gitlab CI:作业配置应至少包含一个可见作业
EN

Stack Overflow用户
提问于 2019-10-03 12:38:09
回答 3查看 9.2K关注 0票数 1

我已经开始在Gitlab CI上构建我的.gitlab-ci.yml,所以我用下面这样的简单阶段创建了它

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
image: node:alpine

variables:
  PUBLIC_URL: /my-app

cache:
  paths:
    - node_modules

stages:
  - build
  - deploy

install_dependencies:
  stage: build
  script:
    - npm install
  artifacts:
    paths:
      - node_modules/

deploy_to_cloud:
  stage: deploy
  script:
    - echo Deployed

但作业失败并响应为:在.gitlab-ci.yml中发现错误:

“作业配置应至少包含一个可见作业”

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-10-03 13:00:19

您的yml中可能存在某种类型的BOM或其他不可见的无效字符。尝试使用另一个编辑器验证它,以检查这一点。如果什么也没有找到,请尝试删除该文件,然后使用另一种方法重新创建它。

票数 12
EN

Stack Overflow用户

发布于 2020-10-07 13:57:36

注意:对于这种情况,答案并不是特定的,但可能需要提一下,因为我错过了这个GitLab behaviour, from the official documentation

(如果您有,请编辑或评论)

我的案例

我有一个从模板中included定义的主gitlab-ci.yaml

gitlab-ci-template

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.deploy_to_cloud:
  stage: deploy
  script:
    - echo Deployed

gitlab-ci

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
include: repo.url/gitlab-ci-template

stages:
  - deploy

deploy:
  extends: .deploy_to_cloud

问题所在

复制后-粘贴并合并到单个gitlab-ci.yml文件中

gitlab-ci

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
stages:
  - deploy_to_cloud

.deploy_to_cloud:
  stage: deploy
  script:
    - echo Deployed

我开始得到一个

作业配置应至少包含一个可见作业

并注意到不再创建任何作业;这只是通过将一些代码移动到另一个位置。

问题是因为我忘记了重命名所有的阶段定义!

解决方案

有Gitlab-CI命名规则:

阶段定义名称不能以点开头;否则它将被隐藏,并且不会为该阶段创建作业!

一旦注意到,这是完全有意义的,因为linux文件的行为方式是相同的。

删除阶段定义名称中的起始点使Gitlab在我的示例中再次看到作业。

gitlab-ci

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
stages:
  - deploy_to_cloud

deploy_to_cloud:   # notice the removed dot at the beginning
  stage: deploy
  script:
    - echo Deployed
票数 3
EN

Stack Overflow用户

发布于 2021-06-07 18:34:18

在我的例子中,是文件开头的一个空格。我把它删除了,现在工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58219290

复制
相关文章
Gitlab CI 配置文件 .gitlab-ci.yaml 详解(上)
本文档用于描述 .gitlab-ci.yml 语法,.gitlab-ci.yml 文件被用来管理项目的 runner 任务。如果想要快速的了解GitLab CI ,可查看快速引导。 从 7.12 版本开始,GitLab CI 使用YAML文件 (.gitlab-ci.yml) 来管理项目配置。该文件存放于项目仓库的根目录,它定义该项目如何构建。
Debian中国
2018/12/21
24.3K0
Gitlab CI 配置文件 .gitlab-ci.yaml 详解(下)
本文档是描述 .gitlab-ci.yml 详细用法的下半部分,上半部分的内容请参考这里。.gitlab-ci.yml 文件被用来管理项目的 runner 任务。如果想要快速的了解GitLab CI ,可查看快速引导。 该文件存放于项目仓库的根目录,它定义该项目如何构建。
Debian中国
2018/12/21
7.5K0
Gitlab CI 搭建持续集成环境
在软件工程里,持续集成(Continuous Integration, CI)是指这样的一种实践:在一天里多次将所有开发人员的代码合并到一个共享的主干里,每次合并都会触发持续集成服务器进行自动构建,这个过程包括了编译、单元测试、集成测试、质量分析等步骤,结果只有两个:成功或者失败。如果得到失败的结果,说明有人提交了不合格的代码,这就能及时发现问题。
YP小站
2020/06/04
2.7K0
Gitlab CI 搭建持续集成环境
【MapReduce】配置&作业管理
mapreduce的配置文件为:mapred-site.xml。配置内容分为配置MapReduce运行程序、配置History-Server。
十里桃花舞丶
2021/09/10
3300
GitLab CI / CD管道配置参考 .gitlab-ci.yml文件定义字段
使用在每个项目中调用的YAML文件配置GitLab CI / CD 管道.gitlab-ci.yml。
拿我格子衫来
2022/01/24
22.3K0
GitLab CI / CD管道配置参考 .gitlab-ci.yml 文件定义内容
关键词 描述 script 由Runner执行的Shell脚本。 image 使用docker映像。也可用:image:name和image:entrypoint。 services 使用docker服务映像。也可用:services:name,services:alias,services:entrypoint,和services:command。 before_script 覆盖作业之前执行的一组命令。 after_script 覆盖作业后执行的一组命令。 stages 定义管道中的阶段。 stage
拿我格子衫来
2022/01/24
1.1K0
Ubuntu上如何使用GitLab CI搭建持续集成Pipeline
GitLab Community Edition是一个自托管的Git存储库提供程序,具有帮助项目管理和软件开发的附加功能。GitLab提供的最有价值的功能之一是内置的持续集成和交付工具GitLab CI。
爆栈工程师
2018/08/13
3.9K0
Ubuntu上如何使用GitLab CI搭建持续集成Pipeline
GitLab CI/CD 配置指南 .gitlab-ci.yml文件的配置
GitLab的CI/CD的具体内容是由.gitlab-ci.yml文件定义的, 一个在GitLab的项目,项目根目录只有有.gitlab-ci.yml文件,并且配置了Runner,那么每次提交代码 都会触发CI的pipline .gitlab-ci.yml文件是告诉GitLab的runner去做什么在每次触发后,runner默认有三个阶段, build,test,deploy,你不必每次编写都使用三个阶段,如果一个阶段没有任务,可以直接忽略它 因为.gitlab-ci.yml是存在于项目中的,所有可以进行版本,分支控制,不同的分支,不同的版本可以有不同.gitlab-ci.yml内容 不用的任务
拿我格子衫来
2022/01/24
1.1K0
分布式作业 Elastic-Job-Lite 源码分析 —— 作业配置
一个作业( ElasticJob )的调度,需要配置独有的一个作业调度器( JobScheduler ),两者是 1 : 1 的关系。这点大家要注意下,当然下文看代码也会看到。
芋道源码
2018/09/30
1.3K0
分布式作业 Elastic-Job-Lite 源码分析 —— 作业配置
作业
思考: 1.任何一个公司都是以盈利为目的,这里天善作为一个线上学习平台,核心应该是用户,以用户学习付费课程而盈利
hankleo
2022/05/10
3.9K0
作业
GitLabCICD实践简介
开发团队在开发环境中完成软件开发,单元测试,测试通过,提交到代码版本管理库。运维团队把应用部署到测试环境,供QA团队测试,测试通过后部署生产环境。QA 团队 进行测试,测试通过后通知部署人员发布到生产环境。
DevOps云学堂
2020/05/08
4.7K0
GitLabCICD实践简介
通过 .gitlab-ci.yml配置任务
从7.12版本开始,GitLab CI使用YAML文件(.gitlab-ci.yml)来管理项目配置。该文件存放于项目仓库的根目录,它定义该项目如何构建。
leon公众号精选
2022/04/27
5.7K0
通过 .gitlab-ci.yml配置任务
gitlab-ci 配置复用 - reference tags
在 GitLab 13.9 中增加了一个新的关键字 !reference。这个关键字可以在任意位置复用已存在的配置。
老麦
2022/12/24
8670
gitlab-ci 配置复用 - reference tags
分布式作业系统 Elastic-Job-Cloud 源码分析 —— 作业配置
摘要: 原创出处 http://www.iocoder.cn/Elastic-Job/cloud-job-config/ 「芋道源码」欢迎转载,保留摘要,谢谢!
芋道源码
2019/10/29
4660
分布式作业系统 Elastic-Job-Cloud 源码分析 —— 作业配置
持续集成gitlab-ci.yml配置文档基础
[TOC] 0x00 简述 Q:什么是.gitlab-ci.yaml?它有什么作用? 答:gitlab-ci全称是gitlab continuous integration的意思就是持续集成;gitl
全栈工程师修炼指南
2020/10/23
15K1
持续集成gitlab-ci.yml配置文档基础
作业(3)
我们知道,c语言中的类型有int,char,bool(这个不常用),一般我们使用int,char就可以满足一般的类型需求的,如果对于变量的长度过大,就是用long ,float,double,关于各个类型使用的的长度问题,可以使用sizeof(int)或者sizeof(long)来查看各个类型,在系统中的小。(这个东西我并不清楚。。)
py3study
2020/01/14
5220
持续集成gitlab-ci.yml配置文档基础
[TOC] 0x00 简述 Q:什么是.gitlab-ci.yaml?它有什么作用? 答:gitlab-ci全称是gitlab continuous integration的意思就是持续集成;gitl
全栈工程师修炼指南
2022/09/29
12.2K0
持续集成gitlab-ci.yml配置文档基础
GitLabCI系列之流水线语法第五部分
用于指定在作业成功或者失败时应附加到作业的文件或目录的列表。作业完成后,工件将被发送到GitLab,并可在GitLab UI中下载。
DevOps云学堂
2020/05/22
3.5K0
GitLabCI系列之流水线语法第五部分
Gitlab--CI
​ GitLab-Runner 是配合 GitLab-CI 进行使用的。一般地,GitLab里面的每一个工程都会定义一个属于这个工程的软件集成脚本,用来自动化地完成一些软件集成工作。当这个工程的仓库代码发生变动时,比如有人 push 了代码,GitLab 就会将这个变动通知 GitLab-CI。这时 GitLab-CI 会找出与这个工程相关联的Runner,并通知这些Runner把代码更新到本地并执行预定义好的执行脚本。
奋飛
2019/08/14
9490
Storm作业转化为Flink作业流程分析
一、 Storm的topology作业可以转化为Flink Job放到Flink上运行,需要修改Storm作业的代码。以wordcount为例,代码修改成可以在Flink上运行的作业后,如下:
kevinyh
2018/09/08
2.2K0

相似问题

由于“作业配置应至少包含一个可见作业”而导致GitLab CI失败

12

包含gitlab-ci模板时添加gitlab-ci作业

114

Gitlab CI管道作业

11

GitLab CI -生成未运行配置的作业

21

Gitlab/CI作业规则评估

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文