So far we have used the git resource to fetch down a git repository, and used git & time resources as triggers. The git resource can also be used to push a modified git repository to a remote endpoint (possibly different than where the git repo was originally cloned from).

Also paste in your ~/.ssh/id_rsa private key (or which ever you have registered with github) into the private_key section.
Note: Please make sure that the key used here is not generated using a passphrase. Otherwise, the key will not be accepted and you would get an error.

Update the pipeline, force Concourse to quickly re-check the new Gist credentials, and then run the job:

First, it copied the input resource resource-gist into the output resource updated-gist (using git clone as a preferred git way to do this). A trivial modification is made to the updated-gist directory, followed by a git commit to modify the updated-gist folder's Git repository. It is this updated-gist folder and its additional git commit that is subsequently pushed back to the gist by the pipeline step:

-put:resource-gistparams:repository:updated-gist

The updated-gist output from the task: bump-timestamp-file step becomes the updated-gist input to the resource-gist resource because their names match (see the git resource for additional configuration).

It could have been installed at the top of the script using apt-get update; apt-get install git or similar, but this would have made the task very slow - each time it ran it would have reinstalled the CLI.

Your organisation may wish to curate its own base Docker images to be shared across pipelines. After finishing the Basics lessons, visit Lesson Create and Use Docker Images for creating pipelines to create your own Docker images using Concourse.

If you're feeling ill from copying your private keys into a plain text file (pipeline.yml) and then seeing them printed to the screen (during fly set-pipeline -c pipeline.yml), then fear not. We will get to Secret with Credential Manager soon.