CircleCI:找不到名为 ubuntu 的执行程序的定义?
CircleCI: Cannot find a definition for executor named ubuntu?
我正在尝试扩展已在使用的 orb。我们之前使用过 Docker,但现在想使用 machine
执行器,将来可能使用 windows
执行器。我浏览了文档,但不清楚是否可以拥有不同类型的执行程序并在相同的作业中调用它们。
在CircleCI中是否可以在同一个orb中有不同类型的执行者?
我尝试创建执行器 ubuntu.yml
:
description: >
The executor to run testcontainers without extra setup in Circle CI builds.
parameters:
# https://circleci.com/docs/2.0/configuration-reference/#resource_class
resource-class:
type: enum
default: medium
enum: [medium, large, xlarge, 2xlarge]
tag:
type: string
default: ubuntu-2004:202010-01
resource_class: <<parameters.resource-class>>
machine:
image: <<parameters.tag>>
另一个执行者,openjdk.yml
:
description: >
The default executor for our OpenJDK + Maven-based builds.
parameters:
# https://circleci.com/docs/2.0/configuration-reference/#resource_class
resource-class:
type: enum
default: medium
enum: [small, medium, medium+, large, xlarge]
tag:
type: string
default: 11.0-jdk-stretch
resource_class: <<parameters.resource-class>>
docker:
- image: circleci/openjdk:<<parameters.tag>>
我工作的开始是:
parameters:
executor:
type: executor
default: openjdk
resource-class:
type: enum
default: medium
enum: [small, medium, medium+, large, xlarge]
executor: << parameters.executor >>
resource_class: << parameters.resource-class >>
environment:
# Customize the JVM maximum heap limit
MAVEN_OPTS: -Xmx3200m
如何引用我的 ubuntu
执行器,以便其他 orb 可以看到它?
Circle 中有 3 种类型的执行器调用 CI:
- 调用 CircleCI 预定义图像,例如
ruby
、openjdk
.
- 从相同配置 file/orb 调用执行程序,例如
my-openjdk
、my-executor
。
例如,
executors:
my-executor:
machine: true
my-openjdk:
docker:
- image: openjdk:11
- 从现有的 orbs 中调用执行器,例如
<orb-name>/<executor-name>
。
在我的例子中,它是第三个选项,my-orb/ubuntu
。
我正在尝试扩展已在使用的 orb。我们之前使用过 Docker,但现在想使用 machine
执行器,将来可能使用 windows
执行器。我浏览了文档,但不清楚是否可以拥有不同类型的执行程序并在相同的作业中调用它们。
在CircleCI中是否可以在同一个orb中有不同类型的执行者?
我尝试创建执行器 ubuntu.yml
:
description: >
The executor to run testcontainers without extra setup in Circle CI builds.
parameters:
# https://circleci.com/docs/2.0/configuration-reference/#resource_class
resource-class:
type: enum
default: medium
enum: [medium, large, xlarge, 2xlarge]
tag:
type: string
default: ubuntu-2004:202010-01
resource_class: <<parameters.resource-class>>
machine:
image: <<parameters.tag>>
另一个执行者,openjdk.yml
:
description: >
The default executor for our OpenJDK + Maven-based builds.
parameters:
# https://circleci.com/docs/2.0/configuration-reference/#resource_class
resource-class:
type: enum
default: medium
enum: [small, medium, medium+, large, xlarge]
tag:
type: string
default: 11.0-jdk-stretch
resource_class: <<parameters.resource-class>>
docker:
- image: circleci/openjdk:<<parameters.tag>>
我工作的开始是:
parameters:
executor:
type: executor
default: openjdk
resource-class:
type: enum
default: medium
enum: [small, medium, medium+, large, xlarge]
executor: << parameters.executor >>
resource_class: << parameters.resource-class >>
environment:
# Customize the JVM maximum heap limit
MAVEN_OPTS: -Xmx3200m
如何引用我的 ubuntu
执行器,以便其他 orb 可以看到它?
Circle 中有 3 种类型的执行器调用 CI:
- 调用 CircleCI 预定义图像,例如
ruby
、openjdk
. - 从相同配置 file/orb 调用执行程序,例如
my-openjdk
、my-executor
。
例如,
executors:
my-executor:
machine: true
my-openjdk:
docker:
- image: openjdk:11
- 从现有的 orbs 中调用执行器,例如
<orb-name>/<executor-name>
。
在我的例子中,它是第三个选项,my-orb/ubuntu
。