не в состоянии вызвать работу в сборе - PullRequest
0 голосов
/ 15 июня 2019

Я был новичком в сборе, и настроил среду в моих centos7.6, как показано ниже.

$ wget https://concourse-ci.org/docker-compose.yml
$ docker-compose up -d
Then login by `fly --target example login --team-name main --concourse-url  http://192.168.77.140:8080/ -u test -p test`

Я вижу ниже.

[root@centostest ~]# fly targets
name     url                         team  expiry
example  http://192.168.77.140:8080  main  Sun, 16 Jun 2019 02:23:48 UTC

Я использовал ниже yaml.xml с именем 2.yaml

---
resources:
- name: my-git-repo
  type: git
  source:
    uri: https://github.com/ruanbekker/concourse-test
    branch: basic-helloworld

jobs:
- name: hello-world-job
  public: true
  plan:
  - get: my-git-repo
  - task: task_print-hello-world
    file: my-git-repo/ci/task-hello-world.yml

Затем я запускаю команды ниже шаг за шагом.

fly -t example sp -c 2.yaml -p pipeline-01
fly -t example up -p pipeline-01
fly -t example tj -j pipeline-01/hello-world-job --watch

Но я просто держусь там, никакой полезной реакции, как показано ниже.

[root@centostest ~]# fly -t example tj -j pipeline-01/hello-world-job --watch
started pipeline-01/hello-world-job #3



Теоретически , это должно напечатать что-то вроде ниже.

Cloning into '/tmp/build/get'...
Fetching HEAD
292c84b change task name
initializing
running echo hello world
hello world
succeeded

Где я сделал не так? спасибо.

1 Ответ

0 голосов
/ 16 июня 2019

Добро пожаловать в Concourse!

Одна вещь, которая может сбить с толку при запуске с Concourse, это понимание , когда Concourse обнаруживает, что конвейер изменился и что происходит, если конвейер представляет собой один файл или несколькофайлы.

Ваш конвейер (как и большинство реальных конвейеров) является "вложенным": файл основного конвейера 2.yaml относится к файлу задачи с именем my-git-repo/ci/task-hello-world.yml

Что отличает Concourseиз других систем CI:

  1. файл основного конвейера (2.yaml) может находиться везде, также в другом хранилище.
  2. Из-за 1 Concourse не может обнаружитьЧтобы изменить основной файл конвейера, вы должны сообщить Concourse, что файл изменился, либо с помощью fly set-pipeline, либо с помощью автоматических средств, таких как concourse-pipeline-resource.

Итак, следующие ошибкислучаются часто:

  • Изменение файла основного конвейера, фиксация и нажатие, и ожидание того, что Concourse получит изменения.Отсутствует: вы должны сделать fly set-pipeline
  • Как только выполнение fly set-pipeline станет второй натурой, вы можете наткнуться на противоположную ошибку: измените как основной файл конвейера, так и вложенный файл задачи, не нажимая, выполняя set-трубопровод.В этом случае единственными изменениями, полученными Concourse, будут изменения в основном файле конвейера, а не в файле задачи.Отсутствует: зафиксируйте и нажмите.

Из описания вашей проблемы я чувствую, что это смесь ошибок, о которых я говорил.

...