问题标签 [circleci-workflows]
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.
yaml - CircleCI 工作流程中的动态作业
当前有一个 config.yml 文件,其中包含以下工作流作业:
将会有更多这些,以及具有相同设置但名称不同的生产版本。
如您所见,它们都遵循相同的模式:名称、要运行的分支(用于暂存的发布版、用于生产的主版)以及用于引入一些环境变量的上下文。
如果没有不断的复制和粘贴,有没有办法用一些东西动态地生成这些作业?我不太擅长yml。
circleci - 如何在circleci上锁定构建
这个想法是当 2-3 个并发提交被推送到一个分支时,它不应该为 circleCI 中的给定步骤启动所有构建作业。它应该等到第一个作业完成,然后只运行队列中的下一个作业。我曾尝试使用以下链接,但没有运气。请帮忙。* https://circleci.com/orbs/registry/orb/gastfreund/dynamo-lock?version=1.0.1 * https://circleci.com/orbs/registry/orb/freighthub/lock
circleci - CircleCI 2.1 构建失败
config.yml
在我将其升级到 2.1 版后,我在设置我的 CircleCI 文件以适应赛普拉斯 e2e 测试时遇到了一些问题。它不断失败并出现以下错误:
这是我的 yml 文件:
circleci - CircleCI 使用带参数的 Sed
我正在尝试设置我的项目以部署 go 应用程序。当我尝试将 sed 与从作业传入的参数一起使用时 - 它工作正常当我尝试将 sed 与从作业传入的参数一起使用时,该参数被引用为上下文变量,它不起作用。看这个例子
ebAppName 的值始终设置正确 但是,elkHost 的值始终显示为 $ELK_HOST 并且从不读取组织上下文值
我可以在这里做些什么来解决这个问题有什么帮助吗?我已经在另一个项目中使用了这种方法并且效果很好
任何帮助表示赞赏
干杯达米安
circleci - CircleCI 保持步骤
我正在尝试将保留作业添加到 CircleCI 的 config.yml 文件中的工作流中,但我无法使其正常工作,而且我很确定这是我的一个非常简单的错误(我只是看不到它!)。
使用 CircleCI CLI 在本地运行以下命令对其进行验证时
circleci config validate
:
我收到以下错误
Error: Job 'hold' requires 'build-and-test-service', which is the name of 0 other jobs in workflow 'build-deploy'
这是 config.yml (注意它是针对无服务器框架应用程序的——这应该不会有什么不同)
很明显,错误与hold
步骤(靠近配置底部)无法找到build-and-test-service
它上面的步骤有关,但build-and-test-service
确实存在,所以在这一点上我很难过。
circleci - Circleci:如何在循环 ci 中连续运行作业,而不仅仅依赖于成功
我想在 circleci 工作流程中按顺序运行两个作业。但是,无论第一个结果如何,我都希望第二个运行。现在在我看来,我只有两个选项,要么并行运行我不想要的,要么让它们串行运行,但如果第一个失败,其余的不执行。
postgresql - 使用 CircleCI 在 Postgresql 中添加其他数据库
我的 CircleCI 构建有问题,我希望有人能帮助我。
我正在使用图像并circleci/postgres
赋予它POSTGRES_USER
和环境值。POSTGRES_DB
POSTGRES_PASSWORD
后来在我运行了一些测试之后,我的配置文件中,我想创建一些额外的数据库,我这样做是这样的;
问题是当circle ci运行它时,我收到以下错误;
我不确定如何解决这个问题,我没有在任何地方定义根角色,所以我不确定发生了什么。
任何帮助将不胜感激。
sed - 如何在 CircleCI 任务中访问构建 ID
我正在尝试运行sed
命令来替换指示当前构建 ID 的环境变量。根据文档CIRCLE_BUILD_NUM包含我正在寻找的值,根据这个例子,它应该非常容易在command
.
下面是配置文件,下面是正在执行命令的bundle.gradle
文件,下面是结果。sed
如您所见,该sed
命令只是CIRCLE_BUILD_NUM
将其视为字符串而不是获取内部版本号。
配置.yml
捆绑包.gradle
输出
circleci - CircleCI 分支过滤器在“工作 > 构建”部分中不起作用
我是 CircleCI 的新手,下面是我添加分支过滤器的最新尝试。我不需要使用工作流程,因此我按照此处找到的文档进行操作,该文档似乎告诉您将其放在该jobs > build
部分下。当它建立时,它会爆炸并显示以下消息
配置文件中的错误:
[#/jobs/build] 匹配 0 个子模式而不是 1 个
- [#/jobs/build] 2 个子模式中只有 1 个匹配
| 1. [#/jobs/build] 外来键 [branches] 是不允许的
| | 允许的键:
| | - 描述
| | - 并行性
| | - 苹果系统
| | - 资源类
| | - 码头工人
| | - 脚步
| | - 工作目录
| | - 机器
| | - 环境
| | - 执行者
| | - 壳
| | - 参数
| | 传递的密钥:
| | - 执行者
| | - 分支机构
| | - 脚步
- [#/jobs/build] 预期类型:字符串,找到:映射
| Job 可能是对另一个作业的字符串引用
environment-variables - CircleCI 插入环境变量
我昨天创建了我的第一个管道,我想用 CIRCLE_BUILD_NUM 环境变量替换我的 bundle.gradle 文件中的占位符。我发现的唯一方法是编写自己的“sed”命令并在运行语句中执行正则表达式。这很好地启动和运行,因为只有一个变量要替换,但是这种方法显然不会扩展,在路上。是否有 CircleCI 功能/orb 或其他方法可以在整个项目中进行更全面的占位符/envar 交换?
编辑
寻找与 Azure DevOps 中类似的实用程序/工具/orb/CircleCI 最佳实践(Jenkins 也执行类似的功能):只需将指定文件中的所有占位符替换为匹配相同名称的环境变量。
https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens