【问题标题】:CircleCI YAML config failsCircleCI YAML 配置失败
【发布时间】:2018-06-08 10:41:34
【问题描述】:

我创建了一个 CircleCI 配置,它将针对我的 laravel 应用程序运行我的 PHPUnit 测试,并且可以 100% 运行,但是我现在正在尝试向 SSH 添加工作流并将我的应用程序部署到 AWS EC2 服务器,我得到了以下错误:

您的配置文件有错误,可能无法正常运行: 发现 2 个架构违规 未找到所需的关键 [工作] 未找到所需的密钥 [版本]

但是我看不到我的 CircleCI 配置文件有问题,是我在某个地方犯了错误吗?

version: 2
jobs:
  build:
    docker:
      - image: circleci/php:7.1-browsers
    working_directory: ~/laravel
    steps:
      - checkout

      - run:
         name: Download NodeJS v6
         command: curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

      - run:
         name: Install SQLite and NodeJS 6
         command: sudo apt-get install -y libsqlite3-dev nodejs

      - run:
         name: Setup Laravel testing environment variables for CircleCI test
         command: cp .env.circleci .env

      - run:
         name: Update composer to latest version
         command: composer self-update

      - restore_cache:
          keys:
            - composer-v1-{{ checksum "composer.json" }}
            - composer-v1-
      - run: composer install -n --prefer-dist --ignore-platform-reqs
      - save_cache:
          key: composer-v1-{{ checksum "composer.json" }}
          paths:
            - vendor

      - restore_cache:
          key: dependency-cache-{{ checksum "package.json" }}
      - run:
          name: Install NodeJS Packages
          command: npm install
      - save_cache:
          key: dependency-cache-{{ checksum "package.json" }}
          paths:
            - ./node_modules

      - run:
         name: Create SQLite Database
         command: touch database/database.sqlite

      - run:
         name: Migrate Laravel Database
         command: php artisan migrate --database=sqlite --force

      - run:
         name: Run NPM
         command: npm run production

      # Run Laravel Server for front-end tests
      - run:
         name: Run Laravel Server
         command: php artisan serve
         background: true

      - run:
         name: Run PHPUnit Tests
         command: vendor/bin/phpunit
 deploy:
    machine:
      enabled: true
    steps:
      - run:
          name: Deploy Over SSH
          command: |
            ssh $SSH_USER@$SSH_HOST "cd /var/www/html"

workflows:
  version: 2
  build-and-deploy:
    jobs:
      - build
      - deploy:
          requires:
            - build
          filters:
            branches:
              only: master

感谢您的帮助,谢谢!

【问题讨论】:

    标签: laravel circleci circleci-2.0 circleci-workflows


    【解决方案1】:

    CircleCI 有 AWS 部署的文档。看这里https://circleci.com/docs/1.0/continuous-deployment-with-aws-codedeploy/

    我认为您的问题在于 AWS 的 SSH 授权。你可以在本地尝试一下,确保你的授权成功,然后在你的 AWS 上做同样的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-28
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      相关资源
      最近更新 更多