prepare-release-on-servers:
name: "${{ matrix.server.name }}: Prepare release"
runs-on: ubuntu-latest
needs: create-deployment-artifacts
strategy:
matrix:
server: ${{ fromJson(needs.create-deployment-artifacts.outputs.deployment-matrix) }}
steps:
- uses: actions/download-artifact@v2
with:
name: app-build
- name: Upload
uses: appleboy/scp-action@master
with:
host: ${{ matrix.server.ip }}
username: ${{ matrix.server.username }}
key: ${{ secrets.SSH_KEY }}
port: ${{ matrix.server.port }}
source: ${{ github.sha }}.tar.gz
target: ${{ matrix.server.path }}/artifacts
我已设置上述文件以使用 github 操作进行部署,但收到以下错误消息:
$ tar all files into /tmp/1572874449/LrdzhrdahF.tar
$ tar -cf /tmp/1572874449/LrdzhrdahF.tar 5582b2e863bad1ad97bf662193b090b7e1dbaf85.tar.gz
scp file to server.
2022/09/30 12:15:55 error copy file to dest: XXX.XXX.XXX.XXX, error message: Process exited with status 1
drone-scp error: error copy file to dest: XXX.XXX.XXX.XXX, error message: Process exited with status 1
我已启用调试,但仍然没有明确的问题消息。如果我从本地使用相同的密钥,效果会很好。任何想法将不胜感激。我在这里做错了什么吗?还是我错过了什么?
这是由托管公司造成的。他们不允许在
/home
目录中进行任何写入。
为了解决此问题,您需要在环境下的 GitHub actions 文件中指定根路径:
env:
HOST: ....
ROOT_PATH: /home/....
就我而言,
sudo chmod 777 -R /var/www/
就是解决方案。