问题标签 [shippable-ci]
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.
amazon-web-services - Shippable + AWS ECR:推送图像 - 没有基本的身份验证凭证
在我的可交付产品中,我使用从 AWS 中使用策略 AmazonEC2ContainerRegistryFullAccess 创建的 IAM 用户复制的 Aws_access_key_id 和 Aws_secret_access_key 配置与 AWS ECR 的集成。但是当我运行构建时,错误是,
任何想法?
问候锤
laravel - Laravel 应用程序无法在 Shippable 上运行 - SQLSTATE[HY000] [2002] 没有这样的文件或目录
我已经尝试了几乎所有的方法来让我的 laravel 应用程序可交付使用,但是当我尝试调用php artisan migrate
我的shippable.yml
外观时它仍然无法正常工作并且出现错误,如下所示:
我的ci/database.php
样子是这样的:
最后我.env.shippable
复制到的我的.env
看起来像这样:
当它到达php artisan migrate
我不断收到此错误的步骤时:
以前做过这件事的人可以帮忙吗?在我的智慧结束。
yaml - 如何修复 shippable.yml 文件中的“长度必须小于 40”错误?
Shippable CI UI 向我显示以下错误:
错误:检测到 1 个验证错误:值'[if [ develop == master ]; then xxx-xx-prod; else xxx-xx-dev; fi]'
未能'environmentNames'
满足约束:成员必须满足约束:[成员的长度必须小于或等于 40,成员的长度必须大于或等于 4]
这是我的 shippable.yml 文件:
所以本质上,我的问题如下:
env_name: if [ "$BRANCH" == "master" ]; then "xxx-xx-prod"; else "xxx-xx-dev"; fi
基本上我需要做的是:
如果分支是master,那么env_name
一定是xxx-xx-prod
,否则env_name
=xxx-xx-dev
我该如何解决这个问题?
ruby - Ruby 无法调用 Shippable webhook 端点
有一段时间我无法从我的 GitLab 实例运行 webhook。起初我认为这与 GitLab 升级 ~10.0 版本或一些 iptables 相关,但现在我认为它可能更像是 Ruby 以及如何调用 Shippable 端点(在 Ruby 中?)。
在失败的请求站点上,我可以看到以下信息:
- 失败的原因是
execution expired
- URL 是
https://[username:password]@api.shippable.com/projects/[project id]/newBuild
- 它由 Shippable 在启用项目时自动生成 - X-Gitlab-Event 类型是
Push Hook
- 还有带有请求正文的 JSON
首先,我测试了凋灵,我实际上可以从服务器连接 Shippable
请求成功,这让我认为这不是 iptables 的问题(但是我检查了,没有,没有设置 iptables 规则)。
然后我尝试在内部重新创建该请求/opt/gitlab/embedded/bin/irb
:
然后它就像在 GitLab 中一样失败了:
有趣的是,类似的事情发生在我的本地机器上:curl 成功,而 Ruby 抛出。
此外,我检查了它不应该是基本身份验证、SSL 或 POST 的问题 - 我成功地从我的服务器的 irb 在 Bitbucket 上发布了片段,就像我测试 Shippable webhook 端点一样。我什至用几乎相同的请求格式在我的模拟服务器上发布了 Shippable 请求。
在这一点上,我很好奇这种行为的原因可能是什么以及如何进一步调试它。我发现在所有失败案例中唯一不变的两个因素是目标(Shippable URI)和客户端(Ruby 的 Net::HTTP)。你还建议我检查什么?
spring-boot - ElasticBeansTalk 和 Shippable 上的 Springboot 和 AngularIO
简报
我在为使用 SpringBoot 和 Angular IO 构建的应用程序设置持续部署环境时遇到一些问题,使用 Shippable 作为 CI 和 Elastic Beanstalk 作为生产环境。
当前情景
1)通过Shippable正确生成应用程序JAR(我们使用heroku作为登台)
2) 正确生成本地 JAR 并手动部署到 Elastic BeansTalk 工作正常
问题
我的问题是集成 Shippable 以自动部署到 Elastic Beanstalk。我已经按照可发货的本教程进行操作:
http://blog.shippable.com/how-to-deploy-to-elastic-beanstalk-part-1
我已经完成了从 Shippable 到 Elastic Beanstalk 的成功部署,除了 Shippable 生成了一个带有源代码的 .zip(这实际上是本教程的目的,我没有注意到呵呵),我需要要在我的 Elastic Beantalk 环境中部署的可执行 JAR。
具体问题
所以问题是:有没有办法使用内置的 Shippable Integration 将我的 Springboot 可执行 JAR 部署到 Elastic BeansTalk?还是我必须手动编写步骤shippable.yml
并使用eb deploy
它才能使其工作?
非常感谢!
更新一
在这个亚马逊链接中:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-configuration.html#eb-cli3-artifact
他们指定了一种部署工件而不是源代码的方法。正如 Shippable 调用eb deploy
的那样,创建配置文件使 Shippable 集成调用作为参数传递给的工件上的部署eb deploy
。我相信这只是找到(在文件层次结构中)Shippable 调用eb deploy
. 我虽然它来自项目的根目录,但它给出了一个错误:
错误:本地不存在应用程序版本(项目/后端/目标/myjar.jar)。尝试再次上传应用程序版本。
任何人都知道shippable从哪里调用部署部分的命令(在shippable.yml中配置,更多信息在这个问题中提到的第一个链接中)?
node.js - Nexus 3 不支持 npm dist-tags 命令
我的问题与这个nexus 3 报告的问题有关。Nexus 3 不支持 npm distags 并且没有宣布修复。
我们正在生产中使用 nexus 2,我们使用npm dist-tags通过 Shippable 构建管道发布我们的 npm 包。
我们有多个开发流,我们使用标签来表示它们中的每一个(alpha -> rc -> master),这与 npm 版本控制相结合。这允许我们在构建脚本中提供别名而不是版本号。
例如,要发布一个包,我们使用这个:
然后在依赖安装期间:
它与nexus 2完美配合,升级到nexus 3后它不起作用(不能使用特定标签拉包:npm install module1@alpha。)
这是我们将 npm 注册表迁移到 Nexus 3 所必需的。
有没有人可以在 nexus 3 上做同样的工作的好选择?
nexus 是否提出了可以替代使用的解决方法或新功能?
这个问题有一天会解决吗?
感谢帮助。
git - 使用 Shippable 将应用程序推送到 heroku 时身份验证失败
我已经设置了一个简单的 nodejs 应用程序,我想让它在我推送到 github 时自动部署到 Heroku。这是我的 shippable.yml 文件:
这是我的 .netrc 文件:
密码不是真正的密码我只是添加了一个占位符,但我用来heroku auth:token
获取我正在使用的密码。
这是我在运行对 github 的提交时在 Shippable 中遇到的错误:
当我运行git remote -v
这就是我得到的:
我在 Ubuntu 18.04 操作系统上。如何修复此错误?我需要在 .netrc 文件中添加其他内容吗?我被卡住了,任何帮助都会很棒。
我已经尝试了这些堆栈溢出问题以尝试获得帮助,但仍然无法正常工作:
'git push heroku master' 仍在要求身份验证
go - 银杏到 cobertura 和 JUnit
我使用 Shippable 作为我的 CI,我的项目基于 Go 1.11。所有的单元测试都是使用 Ginkgo 和 Gomega 以 BDD 风格编写的。在我的测试管道中,我有类似的东西:
这将创建 Cobertura 格式的覆盖文件和 JUnit 格式的单元测试报告。
在我的项目中,我们有多个测试套件。我打算使用 Ginkgo CLI 来执行覆盖和单元测试,而gocov
不是go test
. 就像是:
现在的问题是我无法将coverage.txt 文件转换为等效的Cobertura 格式XML 文件(可交付需要)和unit.txt 文件到等效的JUnit XML 文件。
我已经看到如何从测试套件生成 JUnit 文件,但在我的项目中,我们有多个测试套件,这将导致多个 JUnit 文件,这是我不想要的。
任何想法,我怎样才能转换和使用它们?
node.js - Chromium:nvm 与“npm_config_prefix”环境变量不兼容:
我们正在将基于 Angular(Angular、NgRx 和 Angular Material Starter)的网站从 CircleCI 移动到 Shippable,我现在遇到了这些失败:
我可以共享更多配置,但相同的代码在 CircleCI 中构建得很好,现在在 Shippable 中失败了。drydock/u16nodall
我可以使用该图像在本地(在我的本地 Docker 上)重现。
我们在运行 npm 之前设置了以下环境变量:
不同的 NPM 或 Node 版本似乎没有什么区别。
karma.conf.js
有这个:
我所能找到的关于 _not compatible npm_config_prefix_ 错误的所有信息似乎都与节点安装损坏有关。但是使用 NVM 安装新版本也会显示此错误。
任何想法如何让这个工作?
angular - Getting TypeScript error on Shippable but not locally
I have an Angular/TypeScript application that uses Shippable CI/CD. Everything works great normally but now getting a TS error on Shippable, but not when building locally. (same angular, node, and TS versions both locally and shippable)
The error is
ERROR in src/search.component.ts(81,23): error TS2352: Type 'DataGroup' cannot be converted to type 'DataGroup[]'. Property 'includes' is missing in type 'DataGroup'. src/search.component.ts(83,27): error TS2352: Type 'DataGroup' cannot be converted to type 'DataGroup[]'.
The offending lines are
#xA;In the above, dataGroups and metaDataGroups are type DataGroup[]... and filter+sort does indeed return the same.
#xA;I tried to cast the result from value with ...value() as DataGroup[];
to no avail.
I also tried to throw everything on a single line like the below incase that was the issue, also to no avail.
#xA;update/workaround
So I never figured out the actual issue but I just broke out the underscore operations into their own statements and the problem went away. Still weird how I was getting the TS error on shippable but not locally, and that it wasn't an error in the first place.
#xA;