Получение ошибки в угоне зала: Ошибка сервера: Статус выхода: 500

Я получаю ниже ошибки при работе на сборе:

hijack: ошибка бэкенда: состояние выхода: 500, сообщение: {"Type":","Message":"runc exec: состояние выхода 1: exec fail: container_linux.go:264: запуск процесса контейнера вызвал \"exec: \\"./task-scripts/task_show_uname.sh\\": stat ./task-scripts/task_show_uname.sh: нет такого файла или каталога \"\n","Обрабатывать":""}

У меня есть task.yml:

platform: linux

image_resource:
  type: docker-image
  source: {repository: busybox}

inputs:
- name: task-scripts

run:
  path: ./task-scripts/task_show_uname.sh

***************

task_show_uname.sh runs a simple "uname -a" command.

***************

pipe.yml выглядит так:

resources:
- name: resource-tutorial
  type: git
  source:
    uri: https://github.com/manmohan1391/concourse-tutorial.git
    branch: master

jobs:
- name: job-hello-world
  public: true
  plan:
  - task: hello-world
    config:
      platform: linux
      image_resource:
        type: docker-image
        source: {repository: busybox}
      run:
        path: echo
        args:
        - hello world

- name: scripts
  public: true
  plan:
  - get: resource-tutorial
  - task: script-hello
    file: resource-tutorial/tutorials/basic/task-scripts/task_show_uname.yml

Любая идея?

2 ответа

Если ваш конвейер становится оранжевым, а не красным, это означает, что угон не удалось создать, и вы не можете угнать его. Глядя на вашу задачу yml в вопросе:

platform: linux

image_resource:
  type: docker-image
  source: {repository: busybox}

inputs:
- name: task-scripts

run:
  path: ./task-scripts/task_show_uname.sh

Учитывая ваше определение конвейера, оно должно выглядеть примерно так:

platform: linux

image_resource:
  type: docker-image
  source: {repository: busybox}

inputs:
- name: resource-tutorial

run:
  path: resource-tutorial/tutorials/basic/task-scripts/task_show_uname.sh

Как вы пытаетесь запустить угонщик? Похоже, вы пытаетесь заставить fly запустить ваш скрипт вместо оболочки. Команда hijack пытается запустить ba sh по умолчанию, и если в образе докера нет ba sh, просто запустите hijack 'sh'.