当前位置: 首页 > 知识库问答 >
问题:

我如何在云构建中运行测试版gCloud组件,如“gCloud测试工件docker图像扫描”?

钱睿范
2023-03-14

我试图在云构建管道中包含Container analysis API链接。这是一个测试版组件,我需要先用命令行安装它:

gcloud components install beta local-extract

然后我可以运行按需容器分析(如果容器在本地):

gcloud beta artifacts docker images scan ubuntu:latest

我的问题是如何在云构建中使用测试本地提取等组件?

我试着迈出第一步,安装丢失的部件

## Update components
- name: 'gcr.io/cloud-builders/gcloud'
  args: ['components', 'install', 'beta', 'local-extract', '-q']
  id: Update component

但一旦我进入下一步,更新就消失了(因为它不在容器中)

我还尝试安装该组件,然后使用(

## Run vulnerability scan
- name: 'gcr.io/cloud-builders/gcloud'
  args: ['components', 'install', 'beta', 'local-extract', '-q', ';', 'gcloud', 'beta', 'artifacts', 'docker', 'images', 'scan', 'ubuntu:latest', '--location=europe']

  id: Run vulnaribility scan

我得到:

Already have image (with digest): gcr.io/cloud-builders/gcloud
ERROR: (gcloud.components.install) unrecognized arguments:
  ;
  gcloud
  beta
  artifacts
  docker
  images
  scan
  ubuntu:latest
  --location=europe (did you mean '--project'?)
  To search the help text of gcloud commands, run:
  gcloud help -- SEARCH_TERMS

所以我的问题是:

  1. 如何在Cloud Build中运行“gcloud beta artifacts docker images scan ubuntu:latest”

共有2个答案

薛寒
2023-03-14

问题来自云构建。它缓存一些经常使用的图像,如果你想在GCLOUD CLI中使用一个全新的功能,缓存可能太旧了。

今晚我做了一个测试,缓存中的版本是326。328刚刚发布。所以,缓存的版本已经有2周的历史了,可能对你的功能来说太旧了。你所在地区的情况可能更糟!

解决这个问题的方法是显式请求最新版本。

>

  • 转到此urlgcr。io/cloud builders/gcloud

    在云构建管道的步骤中粘贴完整版本名。

    副作用是更长的构建。事实上,因为这个最新的映像没有缓存,所以必须在云构建中下载。

  • 杨征
    2023-03-14

    您应该尝试Cloud-sdkdocker镜像:

    https://github.com/GoogleCloudPlatform/cloud-sdk-docker

    云构建团队(隐式地?)建议:

    https://github.com/GoogleCloudPlatform/cloud-builders/tree/master/gcloud

    使用cloud sdk docker容器,您可以将入口点更改为bashpipegcloud命令。下面是一个(丑陋的)例子:

    https://github.com/GoogleCloudPlatform/functions-framework-cpp/blob/d3a40821ff0c7716bfc5d2ca1037bcce4750f2d6/ci/build-examples.yaml#L419-L432

    至于你的奖金问题。是的,--format=value(the.name.of.the.field)可能就是您想要的。诀窍是知道字段的名称。在我的开发工作站上,我通常从--format=json开始计算名称。

     类似资料:
    • 问题内容: 我有一个Katalon测试套件设置,它在用户界面和我安装了Katalon studio的计算机上的CLI中都运行良好。 我有一个在Docker容器中运行的Jenkins CI服务器,我想设置一个作业在该Jenkins服务器上运行我的测试套件。 我在Jenkins服务器上需要什么运行时才能运行Katalon作业?为此,是否有Jenkins的运行时或插件? 如果不是,是否有Katalon的

    • 问题内容: 将模块插入项目后,如何在该模块中运行测试用例? 即我做了: 然后尝试测试其中的内容: 我们是否应该单独检查模块并进行测试?我不知道该怎么办。看来,当我知道如何找到已获取的模块时,但是当我使用它时,它在路径中“找不到”。 问题答案: 需要包,而不是相对于的文件夹。 因此,省略开头和结尾的文件名,它将起作用: 如果当前目录是您要测试的软件包文件夹,您甚至可以忽略它,例如 作为参考,请参阅C

    • 问题内容: 我正在尝试使用必须异步加载的配置为我的控制器创建摩卡测试。下面是我的代码。但是,运行mocha测试时,它不会运行任何测试,显示为。该s的甚至从来没有叫。我尝试在describe内执行操作,但是即使运行测试,也从未调用过。有没有一种方法可以在运行任何测试之前一次加载配置? 问题答案: 您应该使用选项运行Mocha ,然后在完成测试套件的构建后再使用。这是从您在问题中显示的代码派生的示例:

    • 请让我知道是否可以通过TestNG运行并行套件?

    • 我试图使用XML和TestNG运行一个测试套件,但是我总是同时使用Eclipse和命令行得到相同的消息: 该文件已正确读取,但测试似乎没有运行。 以下是我的testng.xml的内容: 这是我的目录结构在Eclipse中的样子: 此外,这也是我试图通过命令行运行测试套件的方式: 我尝试过通过eclipse清理项目,但似乎没有帮助。我也试过跑步: < code>mvn clean,但它也没有完成工作

    • 英文原文:http://emberjs.com/guides/testing/testing-components/ 单元测试方案和计算属性与之前单元测试基础中说明的相同,因为Ember.Component集成自Ember.Object。 设置 在测试组件之前,需要确定测试应用的div已经加到测试的html文件中: 1 2 <!-- as of time writing, ID attribut