Для решения вашей проблемы с выполнением команд на удалённом сервере через Jenkins и плагин Publish Over SSH, можно рассмотреть несколько моментов и потенциальных решений:
1. **Проверьте правильность команд**: Убедитесь, что команды, которые вы пытаетесь выполнить, корректны и работают непосредственно в терминале на сервере. Например, команды вроде `make up`, `touch file.txt` и `cp file1 file2` должны работать так, как вы ожидаете вне зависимости от Jenkins.
2. **Проверка прав доступа**: Убедитесь, что пользователь Jenkins (jenkins) имеет права на выполнение всех команд, которые вы хотите запустить. Это можно сделать, используя команду `sudo` (если требуется) и добавляя пользователя Jenkins в соответствующую группу.
3. **Настройка среды**: Иногда, команды могут не выполняться из-за переменных окружения. Например, если команда зависит от настроек среды (PATH и т.д.), их нужно явно указывать в вашей команде, либо загружать нужный профиль, например:
```bash
source ~/.bashrc; make up
```
4. **Журнал вывода**: Чтобы понять, в чем дело, попробуйте перенаправить вывод и вывод ошибок в файл. Например:
```bash
touch file.txt > output.log 2>&1
```
5. **Проблемы с `make up`**: Если вы используете Docker и хотите поднять контейнер, убедитесь, что у Jenkins есть доступ к Docker (правильно настроены права на выполнение команд Docker).
6. **Другие способы выполнения команд**: Если проблема сохраняется, вы можете попробовать альтернативные плагины, такие как:
- **Publish Over SSH**. Хотя вы уже используете его, возможно, стоит проверить настройки SSH.
- **SSH Pipeline Steps Plugin** — для выполнения SSH-команд в pipeline от Jenkins.
7. **Pipelines**: Если вы используете Declarative или Scripted Pipeline, вы можете использовать шаг `ssh` прямо в самом пайплайне, вот пример:
```groovy
sshPublisher(publishers: [sshPublisherDesc(configName: 'test', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'touch file.txt', sourceFiles: '')]), failOnError: true])
```
8. **Пример конфигурации в Jenkins**:
- Убедитесь, что настройка конфигурации SSH корректна (проверить конфигурацию в разделе Jenkins -> Настройки -> Publish Over SSH).
- Убедитесь, что порт, на котором работает SSH, доступен, и не требует ввода пароля.
Если ни одно из этих решений не помогло, вам стоит проверить логи Jenkins для получения дополнительной информации о причинe ошибок.