Skip to content

Make final debugging terminal more reliable #80

@kienstra

Description

@kienstra

Background

Local CI has 3 terminals:

  1. Main terminal: shows the job log as it runs
  2. Debugging terminal: bash access to the job as it runs (but exits when the job finishes)
  3. Final debugging terminal: bash access after the job exits

the-terminals

The final debugging terminal is needed because the debugging terminal exits when the job finishes.

But that terminal has been flaky, and sometimes it doesn't start a container at all.

It works by doing docker run on a committed container:

docker run -it --rm -v ${volume} $(docker images ${committedImageRepo} --format "{{.ID}} {{.Tag}}" | sort -k 2 -h | tail -n1 | awk '{print $1}')`

And the committed container is from doing docker commit of the job container:

committed_image=$(docker commit --pause=false $running_container ${imageRepo}:$(date +"%s"))

But sometimes there won't be an image for the final terminal to run.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions