Добрый день, столкнулся с проблемой того что не получается использовать git команды через sshagent.
Задумка заключается в том что я заливаю обновление на GitHub, срабатывает хук, jenkins подключается к удалённому узлу, останавливает контейнер, получает обновление с GitHub, и потом снова запускает контейнер.
Написать Pipeline который запускает и останавливает контейнер я смог.
pipeline {
agent any
stages {
stage('SSH') {
steps {
sshagent(credentials: ['docker-work']) {
sh "ssh -tt -o StrictHostKeyChecking=no root@192.168.0.103 docker-compose -f /home/CloudToDoList/CloudToDoList/docker-compose.yml stop"
sh "ssh -tt -o StrictHostKeyChecking=no root@192.168.0.103 docker-compose -f /home/CloudToDoList/CloudToDoList/docker-compose.yml up -d"
}
}
}
}
}
но возникли проблемы с командами git
pipeline {
agent any
stages {
stage('SSH') {
steps {
sshagent(credentials: ['docker-work']) {
sh "ssh -tt -o StrictHostKeyChecking=no root@192.168.0.103 git --git-dir=/home/CloudToDoList/CloudToDoList/.git log"
}
}
}
}
}
Если я использую такой Pipeline то он уходит в бесконечную загрузку.
Но сама команда рабочая, в независимости от репозитория, всё выводиться корректно (log использую просто для теста)
root@docker-work:~# git --git-dir=/home/CloudToDoList/CloudToDoList/.git log
commit 660e12c50978995333eebeeecdcf2a71d6747961 (HEAD -> master, origin/master)
Author: root <root@docker-work.samovar.ru>
Date: Thu Oct 24 14:27:28 2024 +0000
готовая страница Note, File, Task, GroupTask, TaskForGroup