External task definitions¶
Study the contents of the file separate-task-config.yml
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Note:
- This is the first time we see a
resources
section in a pipeline. -
The task definition is missing.
The task declaration references a file from a subdirectory named
concourse-examples
Interestingly, the name of the resource matches that directory.
The get
step in the job causes a copy of the repository to be placed inside the container where the task is run, in a subdirectory by the same name as the resource.
Inspect the contents of the repository and verify that there indeed exists a file named hello-world.yml
under a subdirectory named tasks
.
Note
The pipeline yaml file does not stand alone. Its complete definition depends on the task yaml file from the repository. This is not an uncommon arrangement.
Most Concourse pipelines separate out their tasks in a similar fashion. Furthermore, both pipeline and task artifacts are often checked in to a repository corresponding to the codebase that these pipelines are associated with.
Tasks
- Set the pipeline and unpause it
- View the pipeline in the Concourse dashboard
Note how this pipeline renders differently.
The concourse-examples
resource renders to the left of the job itself, with a dashed line connecting the two entities to indicate that the job is dependent on the resource.
Trigger the job, and verify that the build output emits the Hello, world! message.