SSH Rerun Architecture in Server
This section describes how SSH reruns work within installations of CircleCI server. This information is designed to help system administrators have an overview to help with considerations when customizations are made to an installation. This guide is also here to help with debugging in the event of a problem with SSH reruns in an installation.
Rerunning a Job with SSH
For an overview of the purpose of SSH reruns in CircleCI, see the Debugging with SSH guide. The image below describes the IP addresses and ports used to restart jobs within VMs and containers when a rerun with SSH is requested.
The default situation for a server installation with no customizations is for the
outer agent to use AWS metadata to select the instance’s public IP address.
If any networking customizations are made from the default that either block the metadata endpoint or make the public IP unsuitable, then creating a file at
/etc/circleci/public-ipv4 can be used as an override. This file should be created on each Nomad Client, usually via a boot script, and be populated with the IP address that should be used to connect. As an example, the following script uses the instance private IP from AWS metadata:
#!/bin/sh PRIVATE_IP="$(curl http://169.254.169.254/latest/meta-data/local-ipv4)" mkdir -p /etc/circleci echo $PRIVATE_IP | tee /etc/circleci/public-ipv4
Help make this document better
This guide, as well as the rest of our docs, are open-source and available on GitHub. We welcome your contributions.
- Suggest an edit to this page (please read the contributing guide first).
- To report a problem in the documentation, or to submit feedback and comments, please open an issue on GitHub.
- CircleCI is always seeking ways to improve your experience with our platform. If you would like to share feedback, please join our research community.
CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.