标签: circleci-2.0

Android Firebase 应用分发 - 服务凭据文件不存在。请检查服务凭证路径并重试

我正在尝试从 Crashlytics Beta 迁移到 Firebase App Distribution。CircleCi 在中间。

CircleCi 中的构建失败,并显示以下错误:

  • 出了什么问题:任务“:FiverrApp:appDistributionUploadRelease”的执行失败。服务凭证文件不存在。请检查服务凭证路径并重试

这是我在 build.gradle 中配置 serviceCredentialsFile 变量的方法:

        release {
        buildConfigField "boolean", "FORCE_LOGS", "true"

        firebaseAppDistribution {
            releaseNotes="Notes\n" + getCommitMessages()
            groups="android-testers"
            serviceCredentialsFile="/api-project-xxx-yyy.json"
        }
    }
Run Code Online (Sandbox Code Playgroud)

文件 api-project-xxx-yyy.json 与 build.gradle 文件位于同一文件夹中。我也试过:

serviceCredentialsFile="api-project-xxx-yyy.json"
serviceCredentialsFile='api-project-xxx-yyy.json'
Run Code Online (Sandbox Code Playgroud)

仍然没有运气......如果有人能帮助我,我将不胜感激。

android circleci circleci-2.0 firebase-app-distribution

11
推荐指数
1
解决办法
3649
查看次数

yaml:未找到预期的密钥

  • 解析配置文件时出错:yaml:第 22 行:未找到预期的密钥
  • 在配置文件的部分中找不到名为build运行的作业。jobs:

我遇到了这些错误,但我对 yaml 真的很陌生,所以我无法真正找到它不起作用的原因。有任何想法吗?有人说它可能有额外的空格或其他东西,但我真的找不到它。

yaml 文件

defaults: &defaults:
  - checkout
  - restore_cache:
    keys:
      - v1-dependencies-{{ checksum "package.json" }}
      - v1-dependencies-
  - run: npm install
  - save_cache:
      paths:
        - node_modules
      key: v1-dependencies-{{ checksum "package.json" }}

version: 2
jobs:
  build:
    docker:
      - image: circleci/node:10.3.0

    working_directory: ~/repo

    steps:
      <<: *defaults   // << here
      - run: npm run test
      - run: npm run build
  deploy:
    docker:
      - image: circleci/node:10.3.0

      working_directory: ~/repo

    steps:
      <<: *defaults
      - run:
          name: Deploy …
Run Code Online (Sandbox Code Playgroud)

yaml circleci circleci-workflows circleci-2.0

8
推荐指数
1
解决办法
10万
查看次数

Rails:rake db:structure:load 在 CircleCI 2.0 上超时

当前,rake db:schema:load运行以在 CircleCI 上设置数据库。在从 using 迁移schema.rb到 时structure.sql,命令已更新为:rake db:structure:load

不幸的是,它似乎挂起并且没有返回:

$ bin/rake db:structure:load --trace
** Invoke db:structure:load (first_time)
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:structure:load
WARNING: terminal is not fully functional

 set_config 
------------

(1 row)

(END)rake aborted!
Interrupt:
<STACK TRACE>
bin/rake:9:in `<main>'
Tasks: TOP => db:structure:load
Too long with no output (exceeded 10m0s)
Run Code Online (Sandbox Code Playgroud)

在 CircleCI 上发现其他人有同样的问题,但没有答案。

database postgresql ruby-on-rails circleci circleci-2.0

8
推荐指数
1
解决办法
449
查看次数

Chromedriver Devtools端口号错误

尝试使用capybara,selenium和chromedriver-helper运行测试时出现以下错误.使用相同版本的chromedriver,测试在Mac上本地运行良好.我已经尝试在我的spec_helper中显式设置远程调试端口,但显然这被忽略,因为chromedriver使用随机远程调试端口.

Selenium::WebDriver::Error::UnknownError:
        unknown error: Devtools port number file contents <37329> were in an unexpected format
          (Driver info: chromedriver=2.40.565383 (76257d1ab79276b2d53ee976b2c3e3b9f335cde7),platform=Linux 4.4.0-127-generic x86_64)
Run Code Online (Sandbox Code Playgroud)

ruby selenium-chromedriver circleci-2.0

7
推荐指数
1
解决办法
6445
查看次数

CircleCI 运行多行命令

摘自 CircleCI 配置文件:

deploy:
  machine:
    enabled: true
  steps:
    - run:
        name: AWS EC2 deploy
        command: |
          ssh -o "StrictHostKeyChecking no" ubuntu@xxx.xxx.xxx.xxx "cd ~/circleci-aws; git pull; npm i; npm run build; pm2 restart build/server
Run Code Online (Sandbox Code Playgroud)

如何将命令分成多行?尝试了以下语法,但它只运行第一个命令:

deploy:
  machine:
    enabled: true
  steps:
    - run:
        name: Deploy
        command: |
          ssh -o StrictHostKeyChecking=no ubuntu@xxx.xxx.xxx.xxx
          cd ~/circleci-aws
          git pull
          npm i
          npm run build
          pm2 restart build/server
Run Code Online (Sandbox Code Playgroud)

unix ssh circleci circleci-2.0

7
推荐指数
2
解决办法
5091
查看次数

无法在 Circleci orb 中使用环境变量

我正在尝试创建一个 Circleci 工作流程,该工作流程构建 java WAR 并将其上传到我的组织现有的 S3 工件存储桶存储库。首先,构建项目并将一些信息保存在文件中,并将 VERSION 放入 BASH_ENV 中:

export "VERSION=$(mvn -q -Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)" >> $BASH_ENV
  if [ $CIRCLE_BRANCH = "master" ]; then
    ENVIRONMENT=production
  elif [ $CIRCLE_BRANCH = "develop" ]; then
     ENVIRONMENT=qa
  elif [ $CIRCLE_BRANCH = "release-1.0" ]; then
     ENVIRONMENT=staging
  else
     ENVIRONMENT=$CIRCLE_BRANCH
  fi

  echo "ENVIRONMENT=$ENVIRONMENT" >> project.info
  if [ -z "$ENVIRONMENT" ]; then
    echo No environment is set
  exit 1
    fi
Run Code Online (Sandbox Code Playgroud)

然后,我尝试使用官方 S3 orb 上传工件:

    steps:
      - attach_workspace:
          at: .
      - run: source project.info
      - …
Run Code Online (Sandbox Code Playgroud)

circleci-workflows circleci-2.0

7
推荐指数
1
解决办法
492
查看次数

如何在 CircleCI 中获取 PR 前往的分支

CircleCI 有一个CIRCLE_BRANCH环境变量,它告诉您 PR 本身的分支名称。

但我想要相反,我需要 PR 试图合并的分支名称。

circleci circleci-workflows circleci-2.0

6
推荐指数
1
解决办法
3852
查看次数

Gradle 构建守护进程在 CircleCI 中意外消失

我在安卓上使用react-native。一切都很好,直到我升级到最新版本(0.59.4)。

CircleCI 上的构建不断失败,并出现“Gradle 构建守护进程意外消失”错误。在本地运行良好。

我知道这是一个内存问题,并尝试了多种方法来设置 java opts 等。

environment:
      _JAVA_OPTIONS: '-Xms512m -Xmx3g'
      GRADLE_OPTS: '-Xmx3g -Dorg.gradle.daemon=false -Dorg.gradle.jvmargs="-Xmx3g -XX:+HeapDumpOnOutOfMemoryError"'
Run Code Online (Sandbox Code Playgroud)

还尝试过设置gradle.properties。这些都不起作用。

android circleci react-native circleci-2.0

6
推荐指数
1
解决办法
4665
查看次数

在 CircleCI 中安装 GitHub 包

对于我的项目,我正在尝试从 GitHub Packages 安装(而不是发布!)一个 npm 包。它托管在组织中的私有存储库上。我已经制作了一个个人访问令牌,具有从该 repo 和 org 读取所需的权限。所有这些都可以通过以下步骤在本地工作

  • .npmrc文件中设置注册表:registry=https://npm.pkg.github.com/OWNER
  • 终端登录:npm login --registry=https://npm.pkg.github.com 然后会提示:
> Username: USERNAME
> Password: TOKEN
> Email: PUBLIC-EMAIL-ADDRESS
Run Code Online (Sandbox Code Playgroud)
  • Username 是你的标准 github 用户名
  • Token 是使用正确权限创建的个人访问令牌
  • Email 可以是随机的

填写完成后,一切正常,我可以安装该包,以及托管在普通 npm 注册表中的所有其他包。现在问题来了:我试图在 circleCI 上复制相同的内容,但它似乎并没有让我覆盖 npm 注册表。该项目在.npmrc其所在的同一文件夹中包含一个文件package.json。这是圆 ci conf 的一部分:

      - run:
          name: "Set NPM registry"
          command: npm config set registry https://npm.pkg.github.com/OWNER
      - run:
          name: "Authenticate with GitHub package registry"
          command: echo "//npm.pkg.github.com/:_authToken=${GITHUB_PACKAGES}" > web_ui/frontend/.npmrc
      - …
Run Code Online (Sandbox Code Playgroud)

github circleci circleci-2.0 github-package-registry

6
推荐指数
1
解决办法
2003
查看次数

CircleCI CLI - 无法找到名为“build”的作业在配置文件的“jobs:”部分中运行

我在本地使用 CircleCI CLI 来测试我的.circleci/config.yml. 它看起来是这样的:

version: 2.1

jobs:
  test:
    docker:
      - image: circleci/node:4.8.2
    steps:
      - checkout
      - run: echo 'test step'

workflows:
  version: 2
  workflow:
    jobs:
      - test
Run Code Online (Sandbox Code Playgroud)

此操作失败并出现以下错误:

* 无法在配置文件的部分中找到名为build运行的作业。jobs:如果您希望运行工作流程,请检查您的配置是否包含名为“workflows:”的顶级密钥

CLI 文档中的“hello world”工作流程运行良好。

我在这里缺少什么?

circleci circleci-2.0

6
推荐指数
1
解决办法
3526
查看次数