Skip to navigation
Use ssh to copy to remote server via GitHub action
28.12.25
``` name: SCP Deploy on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v4 - name: Setup SSH run: | mkdir -p ~/.ssh echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 ssh-keyscan -H ${{ secrets.SERVER_HOST }} >> ~/.ssh/known_hosts - name: SCP files to server run: | scp -r ./your-folder \ ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }}:/path/on/server ```
Reply
Anonymous
full example ``` name: deploy_scp on: workflow_run: workflows: ["release_linux"] types: - completed workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest if: github.repository_owner == 'myridia' steps: - name: Checkout repo uses: actions/checkout@v4 - name: Setup SSH run: | mkdir -p ~/.ssh echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 ssh-keyscan -H ${{ secrets.SERVER_HOST }} >> ~/.ssh/known_hosts - name: SCP files to server run: | echo "checkout release" wget https://github.com/myridia/mtranslate/releases/download/main/mtranslate_linux -O mtranslate chmod 777 mtranslate echo "list root folder" ls -all echo "...delete mtranslate" ssh ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }} "rm ${{ secrets.SERVER_PATH }}/mtranslate" echo "...upload mtranslate" scp mtranslate ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }}:${{ secrets.SERVER_PATH }} echo "...restart" ssh ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }} "systemctl restart mtranslate" ```
28.12.25
Reply
Anonymous
Information Epoch 1772052095
Write simple parts connected by clean interfaces.
Home
Notebook
Contact us