Tag: circleci

CircleCI:validationdocker容器是否通过HTTP进行响应的最佳方法

这里是我的circle.yml的一部分的一个例子,我目前正在validation我的mongodb docker容器是否响应一个http请求,以便我可以validation响应是否正常,服务器是否启动。 test: override: # RUN DOCKER CONTAINERS # MongoDB ————- – docker run –name MongoDB -p 27018:27018 -d mongo:3.0 mongod –port 27018 –replSet "rs"; sleep 10 – curl –retry 10 –retry-delay 5 -v http://localhost:27018 有了这个curl它有时工作得很好。 有时它给了我这个错误 : curl –retry 10 –retry-delay 5 -v http://localhost:27018 * About to connect() to localhost port 27018 (#0) * […]

从CI服务器部署Docker应用程序到Heroku时的权限错误

问题 我试图从我的CI服务器(Circle)部署一个Dockerized应用程序到Heroku。 当我运行heroku docker:release –app <app_name> ,CI日志显示如下: Error response from daemon: permission denied ! Error in heroku-docker: ! Command failed: docker cp 93a67016632af5cffacab9817b741c4dc69b41f0f6d324c8bae53fe98f4e621d:/tmp/slug.tgz /tmp 不过,我可以从我的本地机器运行这个命令就好了。 我提供给Circle的API密钥与我的本地用户相同。 另外,我可以从CI服务器上运行其他的Heroku命令,比如heroku logs –app <app_name> 。 为什么有权限错误? 额外的背景信息 看来Heroku支持Docker的唯一方法是使用Docker Toolbelt和Docker插件( heroku docker:release –app <app_name> )。 同时,在CircleCI中部署到Heroku的推荐方法是在专有的circle.yml文件中使用特殊条目 。 但是,这不支持Docker,这就是我selectheroku docker:release方法的原因。

Rails MSSQL – TinyTds ::错误:Adaptive Server连接超时

我想尝试让我们的CI工具CircleCI中的Rails和MSSQL交谈。 我在Mac上工作,所以设置这个是相当痛苦的。 我使用Homebrew在本地安装了FreeTDS。 然后,我产生了一个MSSQL泊坞窗图像,并在我的Rails应用程序中设置我的configuration指向它,这一切工作。 CircleCI有点不同。 我做了以下。 在我的gemfile中添加: # mssql database gems gem 'tiny_tds' gem 'activerecord-sqlserver-adapter' 修改我们的database.yml文件: default: &default adapter: sqlserver pool: 5 encoding: utf8 mode: dblib development: <<: *default host: localhost database: collections_development username: sa password: P@55w0rd test: <<: *default host: localhost database: collections_test username: sa password: P@55w0rd 我build立了一个docker形象: FROM circleci/ruby:2.4.1-node-browsers RUN set -ex \ […]

Circle CI 2.0 Rails Redis Resque – Rspec Redis Server Not Found错误

当我们的testing套件运行时,我们得到了关于redis-server的以下问题。 无论我们尝试了什么,似乎没有什么能够超越这个错误。 我们已经通过dockerizevalidation了容器是否正在等待,如下所示,但是这个错误仍然存​​在。 任何想法将不胜感激! Resque初始化程序 require 'resque' require 'redis' require 'yaml' # Resque Plugins require 'resque/plugins/retry' require 'resque-retry' require 'resque-retry/server' require 'resque-lock-timeout' require 'resque-scheduler' require 'resque/failure/multiple' require 'resque/failure/redis' require 'resque-job-stats/server' require 'resque/rollbar' if AppUnsecure.settings[:active_db_services].include?('redis') uri = URI.parse(ENV["REDIS_URL"]) config = { host: uri.host, port: uri.port, password: uri.password } Resque::Failure::Multiple.classes = [ Resque::Failure::Redis, Resque::Failure::Rollbar ] Resque::Failure.backend = […]

使用docker-compose启动web和后端。 我怎样才能从网上获得后端的IP?

我被docker-compose 1.5.2卡住了,因为我使用CircleCI。 web: build: . ports: – "5000:5000" links: – backend backend: image: node-backend ports: – "5002:5002" 我无法从Web容器ping backend 。 backend没有添加到主机文件,任何想法,为什么呢? $ cat /etc/hosts 172.18.0.3 a197fe5943cb 泊坞窗PS告诉我,Web容器的ID是: a197fe5943cb_meshnodeweb_backend_1 web需要知道backend的IP。 我怎样才能使用这些版本的工作? Docker版本1.9.1 docker构成版本1.5.2

高速cachingdocker图像circleci

我正在使用circleci来运行testing并部署Docker镜像,但是我无法cachingDocker镜像,导致构build时间非常长。 这是一个不起作用的最小例子: circle.yml machine: services: – docker dependencies: cache_directories: – "~/docker" override: – if [[ -e ~/docker/image.tar ]]; then echo "cached files exists!" ; docker load -i ~/docker/image.tar; fi – docker images – docker build -t myorg/myapp:v1.1.1 . – mkdir -p ~/docker; docker save myorg/myapp:v1.1.1 > ~/docker/image.tar Dockerfile: FROM debian:latest MAINTAINER My Name <myname@gmail.com> RUN […]

是否有可能使用CircleClip没有命名为“Dockerfile”的Dockerfile?

见封闭的图像。 在我的CoreOS盒子上,Docker的bulid有一个标志-f(file),它允许你指定一个没有命名为“Dockerfile”的dockerfile来创build构build。 当我尝试在CircleCI上调用“Docker -f Dockerfile-dev”时,它会以“提供但未定义的标志:-f”的方式失败。 在封闭的图像中,您可以看到CircleCI上的Docker实例未知-f标志。 有没有办法解决这个问题,或者是“Dockerfile”用于CircleCI构build的dockerfiles所需的名称?

Circle CI Docker服务不cachingCOPY

我在CircleCI上运行Docker,并且在cachingCOPY命令时遇到了问题。 Circle CI文档提到已知的caching问题,并build议使用此perl脚本来设置复制的文件上的时间戳以保留caching。 Docker最佳实践文档声明: 在ADD和COPY指令的情况下,文件的内容被放入图像被检查。 具体来说,对文件进行校验和,然后在高速caching查找期间使用校验和。 按照CircleCi的build议,我将caching保存到磁盘,然后在下次testing运行时重新加载。 这似乎是正确的COPYcaching之前的命令。 为了debugging,我正在输出文件的md5校验和,我尝试在本地复制,然后从docker容器中正确匹配。 所以,理论上caching应该加载。 我不确定Docker使用md5作为校验和。 这是我目前的circle.yml: 机器:服务: – docker dependencies: cache_directories: – "~/docker" pre: – mkdir -p ~/docker override: – docker info – if [[ -e ~/docker/image.tar ]]; then docker load -i ~/docker/image.tar; fi – docker images – docker build -t circles . checkout: post: – ls -l – […]

CircleCI Docker退出代码137

我正在使用- image: peopleperhour/dynamodb作为我的CircleCIconfiguration文件中的泊坞窗图像。 在CircleCI中输出以下内容。 Initializing DynamoDB Local with the following configuration: Port: 8000 InMemory: false DbPath: /var/dynamodb_local SharedDb: false shouldDelayTransientStatuses: false CorsParams: * Exited with code 137 第一个testing通过罚款和Exited with code 137不会发生,直到以后。 但一旦发生错误,所有的testing开始失败。 我看到这个链接,并改变我的代码,以下没有运气。 – image: peopleperhour/dynamodb environment: MAX_HEAP_SIZE: 2048m HEAP_NEWSIZE: 512m 有想法该怎么解决这个吗?

Exec不受lxc驱动程序的支持:如何解决这个问题?

在CoreOS上使用Docker,我有一个脚本调用: docker exec … 这在CoreOS上工作正常,但我也想在CircleCI上testing它。 当我尝试在CircleCI上运行该脚本时,我得到: time="2015-06-22T01:14:51Z" level=fatal msg="Error response from daemon: Unsupported: Exec is not supported by the lxc driver" ./tests/run.sh returned exit code 1 这里是CircleCI的testing结果 。 我试图将docker exec改为docker –exec-driver native exec ,但是我不完全确定“驱动程序”是什么,如何改变它,或者即使这样做是可能的或可取的。 围绕这个错误的最佳做法是什么?