Хочу настроить автодеплой через передачу комманд гиту на удаленном сервере. Я не сис.админ, поэтому в этом не очень ориентируюсь.
Сейчас настроил, чтобы на удаленном сервере создавался файл welcome.txt на push ветки.
image: alpine:latest
deploy-job:
stage: deploy
before_script:
- 'command -v ssh-agent >/dev/null || ( apk add --update openssh )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan $VM_IPADDRESS >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
script:
- ssh $SSH_USER@$VM_IPADDRESS "hostname && echo 'Welcome!!!' > welcome.txt"
artifacts:
paths:
- public
only:
- autoDeploy
Взял вариант .yml файла с просторов интернета. Но в YAML не понимаю.
Зачем мне нужен
image: alpine:latest
и можно ли обойтись без него?
Что дает?
artifacts:
paths:
- public
Правильно понимаю, что каждую команду придется отправлять с
- ssh $SSH_USER@$VM_IPADDRESS "command"