Я пытаюсь реализовать действие GitHub, которое будет пересылать мои файлы репо на сервер с пу sh в главную ветку. У меня есть аналогичная установка, работающая с Bitbucket Pipelines, но теперь, когда я учусь делать это с действиями GitHub, мне не повезло.
Мой проект - простое Node.js приложение , где я хотел бы просто скопировать все файлы на сервер, а затем запустить сценарий post-scp для npm i
, как только новые файлы будут скопированы на сервер. Просто хочу, чтобы все было просто, пока я учусь.
Я использую scp-файлы GitHub Action . Вот мой файл:
name: Deploy to production
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
deploy:
name: SCP files to server
runs-on: ubuntu-latest
steps:
- name: SCP files via ssh key
uses: appleboy/scp-action@master
env:
USERNAME: ${{ secrets.USERNAME }}
HOST: ${{ secrets.HOST }}
KEY: ${{ secrets.SSH_DEPLOYMENT_KEY }}
with:
source: './*'
target: '/home/ubuntu/flatbread/'
Это действие способно выполнить Set up job
и Build appleboy/scp-action@master
. Но он выдает ошибку при запуске appleboy/scp-action@master
. Это ошибка, которую я получаю:
tar: empty archive
exit status 1
tar all files into /tmp/320558105/i2yG360Zje.tar
##[error]Docker run failed with exit code 1
Я не совсем уверен, что я делаю неправильно. Даже если я заменил source: './*'
на папку с образцами (то есть source: app
), он все равно выдаст мне ту же ошибку.
Обновление
Если Я изменяю source: './*'
на source: '.'
, который, кажется, делает свое дело с точки зрения отсутствия ошибок GitHub:
tar all files into /tmp/719605837/1uYygkf4Vn.tar
scp file to server.
create folder /home/***/flatbread/
untar file 1uYygkf4Vn.tar
remove file 1uYygkf4Vn.tar
================================================
Successfully executed transfer data to all host.
================================================
К сожалению, после проверки файлов на сервере никаких изменений не было к этому. Есть идеи, почему это так?