Я пытаюсь настроить непрерывное развертывание с помощью gitlab. Я использую оболочку runner. Я хочу, чтобы этот бегун развернул мой код в другом экземпляре.
Я правильно добавил ключи pub и pvt на удаленном сервере и gitlab соответственно. ssh работает нормально. Меня беспокоит то, что в файле ".gitlab-ci.yml" только те команды выполняются на удаленном экземпляре, где ssh user @ domain добавлен в начало. Я предполагал, что как только я войду на удаленный сервер, все мои последовательные команды должны выполняться там, а не в среде бегуна, но этого не происходит.
.gitlab-ci.yml файл
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- echo "$PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan ip-address >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
- ssh user@ip-address #REFERENCE 1
- mkdir testing-auto-success #REFERENCE 2
- ssh user@ip-address ls #REFERENCE 3
Теперь,
ССЫЛКА 1 - вход в удаленный экземпляр выполнен успешно. Также связь не закрывается.
$ ssh user@ip
Pseudo-terminal will not be allocated because stdin is not a terminal.
Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-1036-gcp x86_64)
System information as of Thu Aug 29 16:13:12 IST 2019
System load: 0.08 Processes: 114
Usage of /: 3.5% of 193.66GB Users logged in: 0
Memory usage: 31% IP address for ens4: xx.xxx.xx.x
Swap usage: 0%
* Ubuntu's Kubernetes 1.14 distributions can bypass Docker and use containerd
directly, see -containerd or try it now with
snap install microk8s --classic
* Canonical Livepatch is available for installation.
- Reduce system reboots and improve kernel security. Activate at:
https://ubuntu.com/livepatch
80 packages can be updated.
0 updates are security updates.
*** System restart required ***
ССЫЛКА 2 - это не делает каталог в удаленном экземпляре.
ССЫЛКА 3 - в нем перечислены все файлы удаленного экземпляра.
Теперь пишу все последовательные команды, добавленные только опцией ssh, или я ошибаюсь?