JFrog帮助中心

我们的新传送门很快就要来了!
文档+知识库





JFrog帮助中心-一个全新的知识体验即将到来!



概述

默认情况下,您的步骤在容器中运行标准运行时图像库由JFrog维护。您可以通过管道DSL控制您的步骤在哪些运行时映像中执行。

如果需要直接在构建主机节点上(而不是在容器中)执行步骤,请参见主机运行步骤


默认运行时镜像

用于执行Bash步骤的默认运行时映像是与节点池的操作系统相匹配的NodeJS映像。对于PowerShell步骤,默认是. net Core映像。在这两种情况下,所选择的版本都可以作为管线安装的一部分进行配置,管理员可能已经在您的安装中配置了不同的默认映像默认为通常当您的步骤将只执行不特定于某种语言的shell命令时,这是最合适的。

对于执行特定于语言操作的本机步骤(例如,MvnBuildGoBuild),默认运行时映像将是适合该语言的映像。类似地,选择的运行时映像将与节点池的操作系统相匹配。没有任何特定于语言的操作的本机步骤将使用与Ubuntu或CentOS上的Bash相同的默认映像,以及与Windows Server上的PowerShell相同的映像。


页面内容


选择语言和版本

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”
标签 描述
语言

可以设置为:

  • cppC/ c++步骤
  • dotnetcore.NET步骤(仅限Windows Server)
  • 对于围棋步骤
  • java用于基于java的步骤
  • 节点用于Node.js步骤
版本 可以设置为单个吗要运行构建所依据的语言版本。请记住将版本放在双引号中,因为解析器希望使用字符串。例如:“9.0.0”。
有关支持的版本的信息,请参见运行时的图片
版本

可以设置为多个版本您要运行构建所针对的语言的。请记住将版本放在双引号中,因为解析器希望使用字符串。例如:“9.0.0”。
有关支持的版本的信息,请参见运行时的图片

如果需要某种语言的不受支持版本,可以将其安装在onStartsection,或者使用自定义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_stringdecrypt_stringencrypt_filedecrypt_file命令)
  • jfrog(当使用Artifactory集成或在本地步骤时)
  • 金桥
  • Awk(供用户使用compare_git命令)
  • Git(供用户使用compare_git命令或GitRepo资源2022世界杯阿根廷预选赛赛程
  • Gettext(供使用replace_envssend_notification(电子邮件)命令)
    • envsubst
  • Curl(用于使用send_notification命令)
  • Base64(用于使用send_notification(电子邮件)encrypt_stringdecrypt_stringencrypt_filedecrypt_file命令)
  • Openssl(供使用encrypt_stringdecrypt_stringencrypt_filedecrypt_file命令)

Windows Server的最低要求

为将在Windows Server主机节点中运行的步骤指定的任何自定义运行时映像都需要包含以下最小组件集:

  • PowerShell 5
  • 金桥(供使用Replicate_resource或send_notification命令)
  • Git(供用户使用compare_git命令或GitRepo资源)2022世界杯阿根廷预选赛赛程
  • Openssl(供使用encrypt_stringdecrypt_stringencrypt_filedecrypt_file命令)


  • 没有标签
版权所有©2023 JFrog Ltd。