- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个circleCI脚本,它在Azure容器中运行docker-compose exec postgres pg_isready
命令设置,但我们收到了代码构建错误,如下所示。相同的脚本早些时候运行良好,但从过去几天我们得到了这个。
running docker-compose up
Creating network "docker_default" with the default driver
Pulling postgres (postgres:9.6)...
9.6: Pulling from library/postgres
Status: Downloaded newer image for postgres:9.6
Creating docker_myproject_1 ...
Creating docker_postgres_1 ...
waiting for postgres to startAttaching to docker_myproject_1
ERROR: No container found for postgres_1
myproject_1 | 2020-02-18T14:40:42.317723661Z starting...
.myproject_1 | 2020-02-18T14:40:43.718394751Z {"name":"myproject","hostname":"xxxxxx","pid":1,"level":30,"msg":"myproject app version v2.8 listening on port 3030 (Node.js version 8.17.0, ci environment)","time":"2020-02-18T14:40:43.717Z","v":0}
myproject_1 | 2020-02-18T14:40:43.718573206Z myproject app version v2.8 listening on port 3030 (Node.js version 8.17.0, ci environment)
myproject_1 | 2020-02-18T14:40:43.793220191Z Failed to prune sessions: getaddrinfo ENOTFOUND postgres postgres:5432
ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.ERROR: No container found for postgres_1
.Too many attempts
CircleCI 配置文件 --- config.yml
version: 2
jobs:
build:
working_directory: /home/circleci/app
docker:
- image: circleci/node:8-browsers
- image: circleci/postgres:9.6-alpine
environment:
POSTGRES_USER: postgres
POSTGRES_DB: myproject_ci
steps:
# Prepare build environment
- setup_remote_docker:
reusable: true
- checkout
- restore_cache:
key: dependency-cache-v2-{{ checksum "package.json" }}
# Install dependencies + cache them
- run: npm install
- save_cache:
key: dependency-cache-v2-{{ checksum "package.json" }}
paths:
- node_modules
# Build
- run: CONFIG_ENV=ci npm run build
# Start for testing
- run:
command: ./scripts/run-ci.sh
background: true
- run: ./scripts/run-ci-wait.sh
# Run tests
- run: CONFIG_ENV=ci npm test
# Run tests for docker image
- run: ./test/docker/run-docker-tests.sh
- deploy:
name: Deploy master to dev
command: |
if [ "${CIRCLE_BRANCH}" == "master" ]; then
./scripts/deploy-dev.sh
fi
run-docker-tests.sh 失败的内容
#!/bin/bash
set -e
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
cd $DIR
function cleanup() {
docker-compose down || true
}
trap cleanup SIGINT SIGTERM EXIT
echo 'running docker-compose down'
docker-compose down
echo 'running docker-compose up'
docker-compose up -d --force-recreate
docker-compose logs --follow --timestamps --no-color myproject &
printf 'waiting for postgres to start'
attempt=0
until docker-compose exec postgres pg_isready; do
printf '.'
sleep 2
attempt=$(( $attempt + 1 ))
if [ $attempt -gt 15 ]; then
echo Too many attempts
exit 1
fi
done
echo 'postgres is started'
printf 'waiting for server to start'
attempt=0
until docker-compose run -T myproject curl --output /dev/null --silent --head --fail http://myproject:3030; do
printf '.'
sleep 2
attempt=$(( $attempt + 1 ))
if [ $attempt -gt 15 ]; then
echo Too many attempts
exit 1
fi
done
echo 'server is started'
过去一周使用相同的脚本成功构建。
Status: Downloaded newer image for postgres:9.6
Creating docker_postgres_1 ...
Creating docker_myproject_1 ...
waiting for postgres to startAttaching to docker_myproject_1
myproject_1 | 2020-02-14T14:57:56.436816113Z starting...
^@^@/var/run/postgresql:5432 - no response
myproject_1 | 2020-02-14T14:57:58.305638546Z {"name":"myproject","hostname":"xxxxxx","pid":1,"level":30,"msg":"myproject app version v2 listening on port 3030 (Node.js version 8.17.0, ci environment)","time":"2020-02-14T14:57:58.305Z","v":0}
myproject_1 | 2020-02-14T14:57:58.306243774Z myproject app version v2 listening on port 3030 (Node.js version 8.17.0, ci environment)
.myproject_1 | 2020-02-14T14:57:58.413266214Z Failed to prune sessions: connect ECONNREFUSED x.x.x.x:5432
/var/run/postgresql:5432 - no response
./var/run/postgresql:5432 - accepting connections
postgres is started
waiting for server to startserver is started
撰写文件
version: "3"
services:
myproject:
image: myproject:latest
environment:
- CONFIG_ENV=ci
- CONFIG_PASSWORD
- POSTGRES_HOST=postgres
postgres:
image: postgres:9.6
environment:
- POSTGRES_DB=myproject_ci
这里的任何帮助都会很棒。
最佳答案
在您的docker-compose.yml
文件中,请检查environment
参数下是否提供了。如果未提供,请提供如下内容:- POSTGRES_HOST_AUTH_METHOD=trust
。
这个解决方案对我们有用,导致此构建问题的原因应该是 Postgres
的 Docker 官方镜像最近已更新,这导致了以前工作的 PG 容器出现许多新问题现在在初始化时抛出错误。
关于azure - 在 CircleCI 中找不到 postgres_1 的容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60283904/
我试图通过将环境变量 (SHORT_HASH) 作为命令 ('echo $CIRCLE_SHA1 | cut -c -7') 运行来将其设置为更短的 github 哈希。 所以,我希望将散列“b1e5
我将在 CircleCI 作业的第一步中生成一个 UID。有没有办法将此值存储为可供后续步骤访问的“管道参数”?另外,有没有办法在作业之间传递此类动态参数? 类似这样的事情 jobs: bui
这简直要了我的命,找不到答案...我只想将当前用户从 root 更改为预先创建的名为“node”的用户,并给定“node:9”基础镜像。 这是我现在拥有的 .circleci/config.yml 文
在 Cicrle 上存储敏感信息(例如签名配置、API key 等)的位置,而不将它们添加到 git。通常我不会将此类文件上传到 git 存储库,但我不知道如何在没有它们的情况下使用 Circle 最
我有一个圆形 CI 环境,我想在其中动态分配上下文以部署到 4 个不同的环境。 理想情况下,我想使用管道参数设置上下文,有什么想法可以实现这一点吗? 我希望如何实现这一目标的示例: parameter
CircleCI 有一个 CIRCLE_BRANCH 环境变量,它告诉您 PR 本身的分支名称。 但我想反过来,我需要 PR 试图合并的分支名称。 最佳答案 您可以简单地通过使用 github api
如果我有一个 .circleci/config.yml文件像这样: version: 2 jobs: build-node8: docker: - image: oresoft
是否可以在另一个作业的上下文中运行另一个作业?我有一些工作有一些共同的步骤,我不想在不同的工作中重复这些步骤。 push-production-image: docker: - image: go
我已经设法创建了一个 CircleCI 构建,它使用 curl 使用他们的 API 触发后续构建。 .我已将此添加到我的 circle.yml : test: override: - mvn t
有办法做到这一点吗? 例如,我目前总是在 Circle.yml 文件中安装特定版本的 docker-compose,但我希望已经通过缓存安装它: - sudo -H pip install -U do
CircleCI 2.0 上是否提供 Android Espresso 的仪器测试?如果是的话,有人可以帮我配置 config.yml 文件吗?我已经尝试了数千次,但没有成功。我可以运行单元测试,但不
我想使用 Open JDK 8 和 9 运行我的 Circle CI 2.0 构建。是否有任何可用的 YAML 示例解释如何使用多个 JDK 版本构建 Java 项目? 目前我正在尝试将新作业 jav
Yarn 没有关于 2.0 安装的文档。 索取文档🙏 这里是 1.0 文档 https://circleci.com/docs/1.0/yarn/ 2.0在哪里? https://circleci.
CircleCi 在代码被推送到 master 时运行,但是 CircleCi 在名为 Version Package Bump 的运行脚本中推送到 master 本身。因此,在第一次构建之后,将运行
在 CircleCI 中,我运行一个应用程序,我想针对它运行测试: test: pre: # run app - ./gradlew bootRun -Dgrails.env=de
基本上我试图跳过构建,如果它不是拉取请求或某个分支,但是如果失败,我似乎无法跳过工作或工作流程的一部分,到目前为止问题是 circleci step halt在我的管道中什么都不做,这里的示例配置:
当我与master合并时,我想使用CircleCI将我的docker镜像推送到Dockerhub。我在其他项目中使用 CircleCI,它更有用并且希望保持一致(并且我计划稍后添加测试)。然而,我所有
我正在使用CircleCI设置持续的部署过程,以Google Container Engine为目标。我正在关注this documentation和this example。 我在这个阶段陷入困境:
有没有办法缓存我从 bundler (使用 bundle 安装)获得的依赖项?我知道我可以在 circle.yml 中使用 cache_dependencies 命令,但我不确定要传递给它的路径是什么
摘自 CircleCI 配置文件: deploy: machine: enabled: true steps: - run: name: AWS EC2 dep
我是一名优秀的程序员,十分优秀!