Для выполнения команды, используя окружение как хоста, так и удаленного сервера, можно воспользоваться инструментом SSH.
1. Установите SSH-сервер на удаленный сервер, если он еще не установлен.
2. Создайте ключ SSH на хосте с помощью команды:
```
ssh-keygen -t rsa -C "[email protected]"
```
При этом не указывайте пароль для ключа.
3. Скопируйте открытый ключ на удаленный сервер с помощью команды:
```
ssh-copy-id user@remote_server_ip
```
При этом замените `user` на имя пользователя, а `remote_server_ip` на IP-адрес удаленного сервера.
4. Установите переменные окружения в GitLab CI, указывающие на приватный ключ SSH:
```
SSH_PRIVATE_KEY: <значение>
```
Где `<значение>` - содержимое приватного ключа SSH в формате PEM, закодированное в base64.
Теперь вы можете выполнять команды на удаленном сервере с помощью SSH в GitLab CI, используя переменные окружения.
Например:
```yaml
deploy:
script:
- echo "Deploying to remote server"
- |
ssh user@remote_server_ip "echo 'Hello, World!'"
```
Замените `user` на имя пользователя, а `remote_server_ip` на IP-адрес удаленного сервера.
Таким образом, команда `echo 'Hello, World!'` будет выполнена на удаленном сервере с использованием переменной окружения `SSH_PRIVATE_KEY`, которая содержит приватный ключ SSH.