пытаюсь прокинуть ssh agent в докер image, кот является частью CI/CD pipeline.
Запускаю в пайплайне, в Линуксе
echo "ssh-path=$SSH_AUTH_SOCK"
все работает... возвращает путь
ssh-path=/opt/buildagent/temp/buildTmp/ssh618017239674568317sock
далее перекидываю его в Docker image (своя сборка из alpine) - внизу строки из Dockerfile
FROM alpine:latest
RUN apk -v add --update --no-cache bash openssh-client
RUN eval $(ssh-agent)
делаю docker run со следующей командой
docker run -v $(dirname $SSH_AUTH_SOCK):$(dirname $SSH_AUTH_SOCK) --env SSH_AUTH_SOCK=$SSH_AUTH_SOCK
пишет следующее
/bin/sh: 1: dirname /opt/buildagent/temp/buildTmp/ssh618017239674568317sock: not found
в контейнере выполняется скрипт - после запуска
if [ $(ps ax | grep [s]sh-agent | wc -l) -gt 0 ] ; then echo "ssh-agent is already running"; fi
ssh_path=$(dirname $SSH_AUTH_SOCK)
echo "SSH AGENT PATH INSIDE DOCKER=$ssh_path"
пишет следующее:
ssh-agent NOT running
Agent pid 11
SSH AGENT PATH INSIDE DOCKER=/opt/buildagent/temp/buildTmp/ssh-XXXXXXAecGBo
попытка дальше вызвать команду типа
git clone git@gitlab-server.company.ru:gitccountname/project_name.git
дает
error: not authorised
при этом вне докер контейнера все нормально работает