问题标签 [codefresh]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1101 浏览

docker - 如何在 Codefresh 私有注册表中列出 Docker 映像?

我目前正在使用Codefresh 的免费私人注册表来存储我的图像。我正在为我的 Docker 构建使用 CircleCI,所以我从那里使用docker login,以便我可以推送和拉取 Codefresh 注册表。这工作正常。但是,Codefresh 仅在其网络应用程序中列出了它为其构建的图像,因此我无法轻松查看它们的目录。我怀疑这是设计使然,因此用户坚持使用 Codefresh for CI。但是,如果可能的话,我想列出我在注册表中的图像。

我假设这个注册表是标准 Docker Registry 的基本 v2 版本。所以,我四处寻找,发现了这个控制台实用程序来管理图像。但是,它似乎对我不起作用。我不知道这是否是因为注册表管理工具总体上仍然不成熟(网络搜索表明它们是在很久以后才添加的,而且对于很多人来说,这个简单的任务已成为一项艰巨的任务)或者是否有一些不寻常的东西代码新鲜。

这是我正在尝试的:

-d用于调试)。

这导致:

倒数第二行包含一个我不认识的容器名称——我希望它是公开的,而不是我不应该看到的!

最后一行表示某种致命错误,各种 URL 片段以绝对行不通的方式混合在一起。

我还发现删除访问令牌没有任何区别;输出完全相同:

我还能尝试什么?我正在运行 Mint Linux,如有必要,可以切换到另一个实用程序。我发出此命令的方式是否有问题,或者 Codefresh 是否运行与标准 API 调用不兼容的非标准注册表?

更新

看起来 Codefresh也有自己的 API,尽管据我所知似乎没有记录。运行该get操作会产生此错误:

由于未提供令牌,因此无法对请求进行身份验证

这令人鼓舞,所以我将尝试找出如何在 curl 调用中提供令牌;Swagger Web 界面似乎不允许这样做。但是我意识到,如果我能让 API 正常工作,它可能无论如何都不会列出我的 Docker 镜像,因为它们不是由 Codefresh 构建的。

更新 2

我在 Codefresh 博客上发现了一些文章,这些文章暗示了如何在 API 上进行身份验证,格式是标题,因此:

但是我收到此错误:

{"status":401,"code":"2401","name":"UNAUTHORIZED_ERROR","message":"无法验证请求,因为令牌无效","context":{}}

我使用的令牌与我使用的令牌相同docker login,它有效。我注意到我没有指定我的用户名,所以我还添加了这个 curl 选项:

正如你所看到的,我现在接近尝试随机的东西,因为似乎没有在线官方帮助。

更新 3

在下面的评论提示下,Docker 似乎在login使用后维护了一个访问令牌,在~/.docker/config.json.

因此我尝试了这个:

(注意如何cfaccesstoken更改为dockeraccesstoken)。

现在返回的速度要快得多(而不是看起来挂起),但什么也不返回:

0 投票
2 回答
65 浏览

kubernetes - 通过 kubectl 连接到 codefresh 镜像注册表,存在机密问题

我正在尝试使用存储在 Codefresh 上的图像通过 kubectl 部署应用程序。当我将图像放在公共注册表上时,它可以完美运行。

问题是当我应用 deployment.yaml 时,我在 pod 上收到“ImagePullBackOff”错误。我假设,我认为是正确的,这是因为我需要一个秘密才能访问我的 Codefresh 图像。

这是我当前的 deployment.yaml 的容器部分:

我的问题是,我需要将什么放入秘密“regcred”中才能连接到这个私人注册表。Kubernetes 文档只演示了如何为 docker 做一个。

0 投票
1 回答
98 浏览

ssl - 从 Codefresh 管道调用 Jenkins 作业失败,并显示:x509: failed to load system root and no roots provided

我有一个 Jenkins 工作,我想从我的 Codefresh 管道中调用它。

使用 Codefresh 文档中的以下示例,我已配置并准备好 Codefresh 管道: https ://codefresh.io/docs/docs/integrations/jenkins-integration/#calling-jenkins-jobs-from-codefresh-pipelines

生成的构建使用以下输出运行:

如您所见,构建未能成功触发 Jenkins 作业。在互联网上进行了一些研究后,我得出结论,这是一个 SSL 证书问题。

但我不知道如何从这里开始。究竟缺少什么以及应该在哪里配置。我真的很感激这里的任何帮助。

0 投票
1 回答
64 浏览

kubernetes - 如何使用 Codefresh 设置和部署 Kubeflow

目前,我使用 Codefresh 在 Kubernetes 上部署 python 脚本。我希望将 Kubeflow 整合到部署计划中,以获取所有 Kubeflow 的好东西,比如 UI 等等,但我对如何开始或从哪里开始有点无能为力。

Kubeflow 的文档主要仅涵盖使用 Google Cloud Platform 进行设置。有没有人有这方面的经验?

0 投票
1 回答
196 浏览

amazon-web-services - Codefresh:添加 ecr 时如何在 docker 注册表中使用承担角色?

Codefresh 只需要 2 个参数: 访问密钥 密钥

我已经承担了在本地工作的角色,但它需要 aws 配置文件等

任何想法如何使用承担角色将 ecr 添加到 Codefresh 中的 docker 注册表?或者如何从承担角色获取访问密钥秘密密钥?

非常感谢

0 投票
1 回答
214 浏览

automated-tests - Codefresh 魅力报告:测试报告者需要 CF_BRANCH_TAG_NORMALIZED 变量来上传文件

设置:

  1. 合并到主 codefresh 构建作业后,构建映像并将其推送到 docker 注册表
  2. Codefresh 测试运行作业拾取新图像并运行测试
  3. 在测试运行 CF 作业结束时,诱惑报告构建步骤运行

结果:仅当作业一直通过管道运行时,第 3 步才会在标题中显示消息失败 如果我手动重新运行作业,则可以正常运行(在这种情况下不执行第 1、2 步)

注意:手动添加该标签没有帮助

测试执行管道:

0 投票
2 回答
1992 浏览

continuous-integration - 使用部署令牌发布到 Gitlab 包注册表

我创建了一个 Codefresh 管道来将工件部署到 Gitlab 包注册表。源代码也在 Gitlab 中。

我可以使用 Gitlab 个人访问令牌发布我的工件,但是当我尝试使用 Gitlab 部署令牌进行发布时,无论我是否使用 Codefresh,它都会失败(401 未经授权的错误)。

我已经使用 Gradle 定义了这个,以发布到 Gitlab 包注册表:

我使用权利<group_id><private_token>价值观,出于安全原因,它们在此处进行了更改。

如果我在 中提供我的个人访问令牌<private_token>,我可以毫无问题地发布到 Gitlab 包注册表。但是当我使用生成的部署令牌时,它会失败。我的个人访问令牌和部署令牌都具有相同的名称和用户名(在部署令牌的情况下)。

我收到 401 未经授权的错误:

有谁知道我做错了什么?非常感谢

0 投票
2 回答
114 浏览

c# - OpenQA.Selenium.WebDriverException:未知错误:Chrome 无法启动:在 CodeFresh 上异常退出

在 CodeFresh 中运行冒烟测试时,我们偶尔会收到此错误

这在 10 次测试中平均发生 1 次,通常只是一种情况,如下所示

失败的测试是随机的,因为这可能发生在一天中的时间。测试套件围绕 Visual Studio/C#/Selenium/Xunit 构建

在更罕见的情况下,我们得到这个

现在,当这种情况发生时,从这一点开始的所有场景都将失败有没有人对造成这种情况的原因有任何想法。我不认为这是测试。

提前致谢

凯夫

0 投票
1 回答
61 浏览

github - Cloudposse CodeFresh——拉取请求管道规范——终止而不将状态设置为“失败”

我有一个 CodeFresh、GitHub 拉取请求管道。

有两种情况,PR 标记为 "Failed"理想情况下它会显示为 "Pending"或无状态。

场景一:

当一个新事件被触发时,它会终止之前的构建(如预期的那样)

构建被管道策略终止 - 新构建由分支上的拉取请求触发<my-branch>

这一切都很好,但是构建在 GitHub 上显示为“失败”。从理论上讲,新构建将撤消“失败”状态,但这可能需要相当长的时间,并且很难跟踪最新运行的构建是什么。我的terminationPolicy规格如下所示:

终止政策文档: https ://codefresh.io/docs/docs/integrations/codefresh-api/?#full-pipeline-specification

场景二:

我们想绕过基于应用标签的构建。例如:"skip-test",或者能够不受branchRegex.

再次,效果很好。但是将 PR 标记为“失败”。


如果有办法将命令注入其中任何一个,我可以使用它。但是我们如何布置它需要整个步骤才能将状态更改为“待定”。(所以我不能简单地在harakiri步骤中添加一个额外的“命令”)

有什么想法吗?

0 投票
1 回答
17 浏览

c# - 通过 Docker 为 CodeFresh 过滤回归测试

我有一个在 CodeFresh 上运行的 C#/Selenium/Xunit 测试套件。该项目可以很好地与构建和运行管道一起按预期运行,除了一件事,过滤。

所以在测试项目中,我们有一组热身测试,我想在主运行管道之前单独运行。现在在功能文件中这些有标签 -@warmup 在钩子文件中显示为[Scope(Tag = "warmup")]并且当从 VS 或批处理文件运行时过滤工作正常。

对于 CodeFresh,我在 Docker 文件中有这行 -

但这总是被忽略并且所有测试都运行,任何人都可以解释我错过了什么

谢谢

凯夫