【问题标题】:Yaml : Formatting error in yaml file. expected '<document start>', but found '<block mapping start>Yaml : yaml 文件中的格式错误。预期为“<文档开始>”,但找到了“<块映射开始>”
【发布时间】:2019-08-23 23:28:57
【问题描述】:
  version: 2.1
  executors:
    docker-publisher:
      environment:
        IMAGE_NAME: vinaya.nayak/mocking-service
      docker:
        - image: circleci/buildpack-deps:stretch
  jobs:
    build:
       executor: docker-publisher
       steps:
         - checkout
         - setup_remote_docker
         - run:
            name: Build Docker image
            command: |
              docker build -t $IMAGE_NAME:latest .
         - run:
            name: Archive Docker image
            command: docker save -o mocking.tar $IMAGE_NAME
         - persist_to_workspace:
              root: .
              paths:
                - ./mocking.tar
  publish-latest:
      executor: docker-publisher
      steps:
        - attach_workspace:
            at: /tmp/workspace
        - setup_remote_docker
        - run:
            name: Load archived Docker image
            command: docker load -i /tmp/workspace/mocking.tar
        - run:
            name: Publish Docker Image to Docker Hub
            command: |
                  echo "$DOCKER_HUB_PASSWORD" | docker login -u "$DOCKER_HUB_USERNAME" --password-stdin
                  docker push docker.kfz42.de/v2/java/mocking-service/$IMAGE_NAME:latest .
workflows:
  version: 2
  build-master:
    jobs:
      - build:
          filters:
           branches:
             only: master
      - publish-latest:
          requires:
            - build
          filters:
            branches:
              only: master

有人可以帮我解决我的 yaml 文件有什么问题吗?我收到以下错误。我什至尝试使用 yaml 格式化程序,yaml 格式化程序说这是一个有效的 yaml 文件

!/bin/sh -eo pipefail 无法解析 YAML 预期的 '',但在 'string' 中找到 '',第 39 行, 第 1 列:工作流程:警告:此配置是自动生成的 给你看上面的信息。不要重新运行此作业。重播会有 没有效果。 false 以代码 1 退出

【问题讨论】:

    标签: yaml circleci


    【解决方案1】:

    您的文件以缩进两个空格的键值对开头,因此您有一个根级节点,它是一个映射。只要所有其他根级别也缩进两个空格就可以了。

    workflows 没有缩进,这就是解析器需要一个新文档的原因。

    【讨论】:

    • 所以工作流也应该有 2 个空格?
    • 至少与下一行一样,因为在有效的 YAML 文件中不能有两个具有相同标量值 (version) 的键。
    【解决方案2】:
      version: 2.1
      executors:
        docker-publisher:
          environment:
            IMAGE_NAME: vinaya.nayak/mocking-service
          docker:
            - image: circleci/buildpack-deps:stretch
      jobs:
        build:
           executor: docker-publisher
           steps:
             - checkout
             - setup_remote_docker
             - run:
                name: Build Docker image
                command: |
                  docker build -t $IMAGE_NAME:latest .
             - run:
                name: Archive Docker image
                command: docker save -o mocking.tar $IMAGE_NAME
             - persist_to_workspace:
                  root: .
                  paths:
                    - ./mocking.tar
      publish-latest:
          executor: docker-publisher
          steps:
            - attach_workspace:
                at: /tmp/workspace
            - setup_remote_docker
            - run:
                name: Load archived Docker image
                command: docker load -i /tmp/workspace/mocking.tar
            - run:
                name: Publish Docker Image to Docker Hub
                command: |
                      echo "$DOCKER_HUB_PASSWORD" | docker login -u "$DOCKER_HUB_USERNAME" --password-stdin
                      docker push docker.kfz42.de/v2/java/mocking-service/$IMAGE_NAME:latest .
      workflows:
        version: 2
        build-master:
          jobs:
            - build:
                filters:
                 branches:
                   only: master
            - publish-latest:
                requires:
                  - build
                filters:
                  branches:
                    only: master
    

    我通过将 workflows 缩进 2 个空格来解决上述问题

    【讨论】:

      猜你喜欢
      • 2019-09-24
      • 1970-01-01
      • 2023-01-13
      • 2022-01-12
      • 2014-02-04
      • 2018-11-13
      • 1970-01-01
      • 2018-02-14
      • 1970-01-01
      相关资源
      最近更新 更多