选择语言和版本
JFrog管道支持Java, c++, Node.js, . net和Go编程语言开箱即用。JFrog在标准中提供默认图像运行时图像库这些软件已经预装了最新的语言版本。通过提供自定义映像,或安装所需的语言版本,您可以使用pipeline使用其他语言进行构建onStart配置。
在运行时
部分的YAML配置,您可以指定一个语言
而且版本
,管线将使用它来选择匹配的语言映像。此设置可以在管道
或一步
的水平。以流水线级配置为例,如下图所示:
管线:—name: pipeline_1 configuration: runtime: type: image image: auto: language:节点版本号:16 # version和versions可以任意选择。版本:-“16”
标签 | 描述 |
---|---|
语言 |
可以设置为:
|
版本 |
可以设置为单个吗要运行构建所依据的语言版本。请记住将版本放在双引号中,因为解析器希望使用字符串。例如:“9.0.0”。 有关支持的版本的信息,请参见运行时的图片. |
版本 |
可以设置为多个版本您要运行构建所针对的语言的。请记住将版本放在双引号中,因为解析器希望使用字符串。例如:“9.0.0”。 |
如果需要某种语言的不受支持版本,可以将其安装在onStart
section,或者使用自定义Docker映像。
使用自定义运行时映像
在某些情况下,我们的标准图像库可能无法满足您的需求,或者您可能有一个希望用于步骤执行的内部图像。使用您自己的自定义映像使您可以更好地控制在运行时映像上安装的内容。它还可以加速步骤执行,因为您可以将依赖项预安装到映像中。
您可以使用如下所示的配置配置自定义运行时映像。这可以在管道级或步骤级指定。如果在两个级别上都指定了,那么步骤配置将优先。
管道:—name: pipe1配置:runtime: type: image image: custom: name:# imageRepo/imageName格式标签: # Docker初始版本的版本标签镜像选项:"-e HOME=/root" # Docker options autoPull: # default true;如果自定义映像是私有的,则需要对身份验证进行集成。如果注册表是Artifactory,则可能需要 #。例如:docker-local region: #如果注册表是AWS则需要。例如us-east-1
标签 | 描述 |
---|---|
的名字 |
这是Docker映像的完全限定名。 |
标签 |
这是你想要使用的Docker图像标记。 |
选项 |
类中使用的任何Docker选项码头工人运行 命令。您还需要包括$ HOME 如果映像中还没有设置环境变量,则如图所示。 |
autopull |
这是一个自动将映像拉到运行该步骤的机器的选项。默认为真正的 . |
如果您的自定义映像是私有的,您还需要为Docker注册表创建一个凭据集成,并在配置中设置额外的值:
标签 | 描述 |
---|---|
注册表 |
这是Docker注册表集成的友好名称。支持的集成类型包括Artifactory,码头工人注册表,AWS的钥匙,谷歌云. |
sourceRepository |
在JFrog CLI v2中不使用。 只有当Docker注册表是Artifactory并且管道配置为使用JFrog CLI v1时,才需要这样做。它是Artifactory上Docker注册表的名称。 |
地区 |
只有当您的Docker注册表是AWS ECR时才需要这样做。 |
例子
例子1
管线:—名称:pipe1配置:运行时:类型:镜像镜像:自定义:名称:docker/jfrog_win标签:最新选项:"-e HOME=/root" autoPull: false注册表:PSSG_DockerRegistry
例2 - Artifactory注册表
管线:—名称:pipe2配置:运行时:类型:映像映像:自定义:名称:ubuntu标签:最新注册表:myArtifactory sourceRepository: docker-local
例3 - AWS注册表
管线:—名称:pipe3配置:运行时:类型:image_aws镜像:自定义:名称:541601.dkr.ecr.us-east-1.amazonaws.com/jfbeta标签:最新autoPull: false注册表:AWS区域:us-east-1
Linux最低要求
为Linux主机节点(Ubuntu、CentOS或RHEL)中运行的步骤指定的任何自定义运行时映像都需要包含以下最小组件集:
- bash
- /proc/sys/kernel/random/uuid
- sed
- GNU grep
- ssh
- coreutils
- 日期
- mkdir
- cp
- mv
- 触摸
- seq
- 猫
- Basename(用于使用send_notification(电子邮件)命令)
- rm
- Uniq(供用户使用compare_git命令)
- Split(用于使用encrypt_string,decrypt_string,encrypt_file,decrypt_file命令)
- jfrog(当使用Artifactory集成或在本地步骤时)
- 金桥
- Awk(供用户使用compare_git命令)
- Git(供用户使用compare_git命令或GitRepo资源2022世界杯阿根廷预选赛赛程))
- Gettext(供使用replace_envs,send_notification(电子邮件)命令)
- envsubst
- Curl(用于使用send_notification命令)
- Base64(用于使用send_notification(电子邮件),encrypt_string,decrypt_string,encrypt_file,decrypt_file命令)
- Openssl(供使用encrypt_string,decrypt_string,encrypt_file,decrypt_file命令)
Windows Server的最低要求
为将在Windows Server主机节点中运行的步骤指定的任何自定义运行时映像都需要包含以下最小组件集:
- PowerShell 5
- 金桥(供使用Replicate_resource或send_notification命令)
- Git(供用户使用compare_git命令或GitRepo资源)2022世界杯阿根廷预选赛赛程
- Openssl(供使用encrypt_string,decrypt_string,encrypt_file,decrypt_file命令)