ssh
(agent, keys e config) para tornar possível ao executor tenha acesso ao repositório git.
Especificamente:
eval $(ssh-agent -s)
... isso inicia ssh-agent
e configura o ambiente (via eval
) do shell em execução para apontar para esse agente. O agente irá (abaixo) segurar as chaves ssh.
'[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
... isso (de forma destrutiva) mucks com o arquivo ssh
config ( ~/.ssh/config
) para informar ssh
para não prestar muita atenção às chaves do host que ssh
usaria normalmente para garantir que seu ssh
session está se conectando apenas a hosts validados.
ssh-add <(echo "$PRIVATE_KEY")
... e finalmente, isso adiciona a chave ssh privada ao agente (iniciado acima). A chave será então usada para permitir que o corredor obtenha acesso ssh ao controle remoto que contém o código.
Se você realmente quiser saber mais sobre como o runner está funcionando, sugiro que use as páginas man
ual para entender cada comando em sequência.