问题标签 [circleci]
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.
continuous-integration - 我可以将 CircleCI 与 Ubuntu 以外的其他操作系统一起使用吗?
是否可以将 CircleCI 与 Ubuntu 以外的其他操作系统一起使用?我在文档中找不到答案。
特别是我想使用 Debian 7.8。
caching - CircleCI 缓存包安装
有没有办法缓存我从捆绑器获得的依赖项(使用捆绑安装)?我知道我可以在 circle.yml 中使用 cache_dependencies 命令,但我不确定传递给它的路径。
作为参考,在 TravisCI 中,您可以使用缓存捆绑器
cache: bundler
ruby-on-rails - CircleCI 宝石缓存
是否可以缓存 gem,这样bundle install
就不会为每个构建安装一堆 gem?每次构建都需要 5 分钟,这太多了。
我已将此添加到circle.yml
配置中:
这是bundle show gem_name
放置所有系统 gem 的地方提供的公共目录。
在这个添加系统写入这样的日志之后:
因此,据我了解,它可以恢复系统 gem 和安装的 gem vendor/bundle
,但是,我仍然看到这个(这需要很长时间):
代替
所以,它似乎应该工作,但它没有。有什么问题?
node.js - 是否可以仅在尚未安装 npm 包的情况下安装它?
是否可以npm
仅在尚未安装软件包的情况下安装软件包?
我需要这个来加快在 CircleCI 上的测试,但是当我运行npm install protractor@2.1.0
等时,它总是从 scracth 下载并安装它们,但是,node_modules
在运行命令时已经存在包含所有模块的文件夹(从以前的版本缓存)protractor --version
等等。显示所需的软件包版本。
拥有这样的单行命令是完美的:
但它也会检查包的版本。
android-studio - 基于 Robotium gradle 的 Android Studio
我正在努力让 Robotium 在基于 gradle 的 Android Studio 上工作,但我找不到使用 gradle CLI 运行测试的方法。我将robotium.jar“robotium-solo-5.4.1.jar”放入libs文件夹,添加为库。在 src 文件夹中,我为测试源创建了另一个文件夹 androidTest->java->package,其名称与应用程序包名称相同 -> Test.java “java”(在“androidTest”内)是绿色的。
UI:像往常一样使用 Android Studio 运行菜单 - 工作。
控制台:在终端输入以下命令:gradlew connectedAndroidTest = not working。我还尝试了“gradlew test”,在 build/test-report 中生成了测试结果,但它们显示没有找到任何测试。
我想在不连接设备的情况下使用 gradle CLI 运行 Robotium 测试,因为我想在 CircleCI 的 Android 模拟器中运行测试。
我的 build.gradle/test 文件有问题还是我遗漏了什么?
我真的很感激任何帮助!
***** 这是我的 build.gradle 文件
***** Robotium 测试文件在 Location : app->src->androidTest->java->package name->Test.java
http-headers - Disable Expect: 100 Continue in Play
我正在开发 Play Framework 中的应用程序。我们对抓取工具的测试向它们正在抓取的站点发出 http 请求,这在本地机器上运行良好,但是当 CircleCI 尝试运行我们的测试时,我们得到
据我所知,这可能是由于 CircleCI 使用代理发出 HTTP 请求,当包含 Expect: 100 Continue 标头时,这可能会导致 417 错误。由于我们没有手动添加该标题,我假设 Play/Java 正在添加它。有什么方法可以禁用此功能和/或是否有其他解决方案可以解决此问题?谢谢!
android - 如何在 CircleCI 上安装 Google Play Services GMS SDK
我正在使用CircleCI服务器来构建和测试 Android 应用程序,并且在服务器上安装用于 Google Play 服务(包括 GMS 服务)的 Android SDK 时遇到问题。
我的 circle.yml 文件是:
首先
- echo y | sudo /usr/local/android-sdk-linux/tools/android update sdk --no-ui --all --filter extra-android-m2repository
是对 Android SDK 附加组件的早期问题的修复,我认为第二行将安装所有剩余的组件:
- echo y | sudo /usr/local/android-sdk-linux/tools/android update sdk --no-ui --all
但是,我收到以下错误(如下)。
在尝试使用最新的 Android SDK 使我的 circle.yml 文件保持最新时,我似乎一直遇到类似的问题。任何建议表示赞赏!
ruby-on-rails-3 - 无法在 circleci 中运行弹性搜索以使我的弹性搜索通过 rspec?
我已经用circleci在github中配置了我的项目。我正在使用 searchkick 进行弹性搜索。我重新索引的代码如下所示:
我的 app/models/location.rb 看起来像这样
我的 app/models/search.rb 看起来像这样
我的 /spec/models/search_spec.rb 看起来像这样
结尾
我的 /myapp/config/circle.yml 看起来像这样我遵循:https ://circleci.com/docs/installing-elasticsearch:
当我在笔记本电脑上运行 rspec 时,它工作正常,而我推送到 github(与 circleci 集成)i,状态失败。它还说:
git - Circleci:如何根据 git 标签进行部署
有没有办法限制在具有特定 git 标签的检查上部署 circleci?
目前我正在使用这个
而不是branch: master
我想写类似的东西tag: /release_.*/
背景:我想根据 git 标签设置 docker 标签。因此,例如,每当有东西提交给 master 时,latest
就会创建并推送一个带有标签的新 docker 图像。每当设置了特殊的 git 标签(例如)时,就会创建并推送release_1.0_2015-06-13
带有标签的新 docker 镜像。1.0
另一种方法是根据不同的标签只使用不同的分支。但我想使用标签来标记特定版本。
android - CI环境中的Robolectric
我遇到了一个问题,我的 robolectric 测试在我的终端中通过:
并且使用circleci./gradlew test
上的所有工具正确配置的相同命令给了我这个错误:
我正在使用 robolectric 3.0-rc3,我相信这个错误来自 robolectric 本身,但我不知道在哪里寻找解决这个错误的任何线索。