Ошибка чтения JToken из JsonReader. Путь «, строка 0, позиция 0. [Действия на Github]

#github #devops #github-actions

Вопрос:

Мой рабочий процесс laravel:

 name: Laravel  on:  push:  branches: [ productionServer ]  jobs:  create-deployment-artifacts:   name: Create deployment artifacts  runs-on: ubuntu-latest    outputs:  deployment-matrix: ${{ steps.export-deployment-matrix.outputs.deployment-matrix }}   steps:  - uses: actions/checkout@v2    - name: Create deployment artifact  env:  GITHUB_SHA: ${{ github.sha }}   run: tar -czf ${GITHUB_SHA}.tar.gz *   - name: Store artifact for distribution  uses: actions/upload-artifact@v2  with:  name: app-build  path: ${{ github.sha }}.tar.gz    - name: Export deployment matrix  id: export-deployment-matrix  run: |  CFG=$(echo $(cat server_config.json) | sed 's/ //g')  echo "::set-output name=deployment-matrix::$CFG"   prepare-release-on-server:  name: "${{ matrix.server.name }}: Prepare release"  runs-on: ubuntu-latest  needs: create-deployment-artifacts  strategy:  matrix:  server: ${{ fromJson(needs.create-deployment-artifacts.outputs.deployment-matrix) }}    

Server_config.json

 [  {  "name": "Demo",  "ip": "13.18.34.211",  "username": "ubuntu",  "password": "asdhnasdjia9si8d989sdkjsjd_sdu89ds",  "dbName": "demoDB",  "dbPassword": "demo",  "appUrl": "https://Demo.com/",  "port": "22",  "beforeHooks": "echo done",  "afterHooks": "echo done",  "path": "/var/www/html/Demo"  } ]  

Вывод в рабочем процессе github:

Я хочу, чтобы этот рабочий процесс извлек конфигурацию моего сервера из server_config и обновил ее в матрице, чтобы я мог развернуть свой исходный код на нескольких серверах за один запуск.

Комментарии:

1. Жалоба указывает на строку 17 файла YML, которая содержит строку: server: ${{ fromJson(needs.create-deployment-artifacts.outputs.deployment-matrix) }} . В жалобе далее говорится, что существует недопустимый JSON. Я не уверен, что ларавель делает с этой строкой, но это то, где нужно искать. (Это не имеет никакого отношения к Git.)