我刚接触过大厅,并像下面这样在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
我在哪里做错了?谢谢。
答案 0 :(得分:0)
欢迎来到大厅!
从Concourse开始时可能会引起困惑的一件事是了解何时 Concourse检测到管道已更改,以及管道是一个文件还是多个文件时会发生什么。
您的管道(与现实世界中的大多数管道一样)是“嵌套的”:主管道文件2.yaml
是指名为my-git-repo/ci/task-hello-world.yml
的任务文件
将Concourse与其他CI系统区分开来的原因是:
2.yaml
)可以位于任何地方,也可以位于其他存储库中。fly set-pipeline
或诸如concourse-pipeline-resource之类的自动方式来告知Concourse文件已更改。 。因此经常发生以下错误:
fly set-pipeline
fly set-pipeline
的操作,您就会发现相反的错误:更改主管道文件和嵌套任务文件,而不是推送,而是执行set-pipeline。在这种情况下,Concourse拾取的唯一更改将是对主管道文件的更改,而不是对任务文件的更改。丢失:提交并推送。从对您的问题的描述中,我感觉到它是我提到的陷阱的混合物。