问题标签 [codeship]
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.
mysql - Codeship 中的 MySQL utf8mb4
我正在 Codeship 中为 Rails 应用程序运行自动化测试,我想将其utf8mb4
用作数据库编码。
这是我的修改database.yml
:
我遵循了本教程:https ://codeship.com/documentation/databases/mysql/ ,但编码仍然是utf8
.
如何使用utf8mb4
数据库的编码运行测试?
heroku - 如何在 Heroku 管道促销期间调用部署前/部署后脚本
我有一个 Rails 应用程序,它在测试成功后和将代码部署到 Heroku 之前在 rake 任务中运行数据库迁移。
我正在使用CodeShip运行测试、运行迁移,然后最终部署到 heroku。
但是,我遇到了 Heroku 的新Pipelines功能的问题。
在将我的应用程序版本从一个环境提升到另一个环境后,只有应用程序 slug被复制到新环境。git 中没有合并或更新任何分支,也没有代码生成构建触发器。
即使是 heroku 构建历史也只显示了一个没有关联构建日志的提升条目。这是有道理的,因为它只是复制 slug,而不是构建新的 slug。
所以我的问题是,当我将我的应用程序提升到新环境时,我无法找到任何方法将自定义脚本挂接到该事件以执行数据库迁移。
主要问题
是否有对此我无法找到的支持?如果没有,作品中是否有支持这一点的功能?
功能建议
理想情况下,我希望提升功能通过合并底层 git 分支来工作,这样代码仍然可以启动,在新环境中再次运行所有测试和迁移,然后最终在下一个环境中触发构建。这将要求管道中的每个环境都绑定到特定的分支,而不是仅仅通过提交哈希进行提升,但我认为这不会有问题。
从本质上讲,我希望提升按钮能够做我们开发人员在手动提升应用程序版本时经常做的事情,合并到与该环境关联的 git 分支,并让我们的 CI 服务器的 git 挂钩从那里启动它。
heroku - npm 错误!获取失败状态码 502
我正在使用 Codeship 将我的 Ember 项目部署到 Heroku。这些部署过去可以毫无问题地工作,但从昨天开始,在步骤 (6) 中安装 npm 依赖项时,它们因“npm ERR!fetch failed ...”而失败。从那以后我没有改变任何东西,重置依赖缓存也没有帮助。
有谁熟悉这个问题?
我正在使用:
ember-cli 3.3.12
npm v3.8.6
节点 v5.11.1
node.js - NPM 安装失败并出现 502 错误
这是一个比较晦涩的问题。我有一个 Angular 应用程序,它将通过 Codeship for CI 运行。但是,当需要npm install
在 Codeship 框上运行时,npm 会返回
这很奇怪,因为npm install
在我的盒子上工作得很好。我的第一直觉是它一定是 NPM 存储库的问题,所以我抓住了包的 url(https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz ) 并将其放入新的 Chrome 选项卡中。果然,档案几乎立即下载。我对此感到困惑,所以我再次尝试了 Codeship 构建,但得到了相同的结果。我决定通过 SSH 进入 Codeship 框,看看是否可以访问它。我跑了
curl https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-2.4.1.tgz
正如我所料,我得到了 502 错误。然而,当我从我的机器上的终端运行相同的命令时,我得到了相同的结果,即使npm install
对我来说运行完美。我找不到其他人遇到此类问题,并且 502 似乎是 NPM 注册表返回的非常罕见的代码。有任何想法吗?
postgresql - Codeship 恢复 PostgreSQL 数据库?
我有一小部分数据库作为转储来进行集成测试。我使用以下命令恢复它:
问题是在我看到的日志中:
如您所见,它尝试创建“dlq8aimf0q2pf”而不是我指定的“测试”。我能得到数据库名称吗?什么 ENV var 使用这个名称?
virtualhost - 如何在 Codeship 中设置虚拟主机?
我正在使用 Codeship 自动化多租户应用程序。我的应用需要子域设置才能使用 Selenium Web Driver 运行验收测试。所以,我需要为我的应用程序配置虚拟域。例如,我需要以下虚拟域:
127.0.0.1 test.my-app.test
127.0.0.1 my-app.test
如果我不使用子域来请求我的应用程序,它就不能按要求工作。我在测试管道之前的设置命令部分尝试了以下命令。
sudo echo '127.0.0.1 test.my-app.test' >> /etc/hosts
sudo echo '127.0.0.1 my-app.test' >> /etc/hosts
但是,它不起作用,因为我没有权限。错误消息是:
bash: /etc/hosts: Permission denied
你介意告诉我如何让它工作吗?
提前谢谢你!
更新:
我收到了 Codeship 团队的回复:
由于技术限制,这在我们的经典基础架构中是不可能的。您可以迁移到我们的 Docker 平台,该平台允许您对构建环境进行更多自定义。
我们需要使用 Docker 来解决这个问题
javascript - 如何让 Codeship 在 Heroku 上通过 nodejs expressjs 部署的 check_url 阶段?
所以简而言之,我正在尝试: 通过 Codeship 和从 Codeship 到 Heroku部署 - https://expressjs.com/en/starter/hello-world.html 。
我一直在尝试遵循来自https://expressjs.com/en/starter/hello-world.html的非常基本的Hello-World express 教程,但随后 codeship check_url阶段无法在 Heroku 上正确加载,出现以下错误:
在设置命令下,我尝试了以下操作:
和
两者都以同样的方式失败。
并添加类似npm start
挂起该行的过程....
web: node server.js
为了以防万一和最佳实践,我添加了一个 Procfile并将 app.js 重命名为 server.js。最后,我确实engines
在我的定义中package.json
这样定义:
我错过了什么?这样我就可以让 Heroku 正确加载 expressjs,就像我运行时在本地加载一样node app.js
谢谢您的帮助。
这里也是 server.js 文件:
codeship - 用于标记的 Codeship 跳过 ci
我尝试了几种跳过 ci 的方法,但它不起作用。
请帮帮我,谢谢。
continuous-integration - 如何在本地复现 Codeship 的非 Docker CI 环境?
不使用 Codeship 的 Docker 支持时,有没有办法在本地重现 Codeship 的 CI 环境?
deployment - 由于浅克隆,部署在 Codeship 上失败
Codeship 拉取深度为 50 的克隆以加快构建过程。我们有一个超过 50 次提交的拉取请求(不常见但会发生),我们的催化部署失败并出现以下错误:
在压缩了一些提交之后,我们能够部署,但是当我们有一个相当大的 PR 需要合并时,我们遇到了一个问题。为了避免错误
我们将以下脚本添加到我们的部署管道中,一切正常。