-
Notifications
You must be signed in to change notification settings - Fork 122
Open
Description
name: Deploy to VM
on:
push:
branches:
- main
- master
pull_request:
branches:
- '*'
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Build
env:
run: |
npm ci
npm run generate
- name: Tailscale
uses: tailscale/github-action@v2
with:
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
oauth-secret: ${{ secrets.TS_OAUTH_SECRET }}
tags: tag:ci
version: 1.66.4
- name: netmap
run:
tailscale status
ping -c 4 ${{ secrets.HOST }}
- name: copy file via ssh
uses: appleboy/scp-action@master
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
source: '.output/public/*'
target: '/home/dockeruser/abc/pb_public/'
overwrite: true
strip_components: 2The tailscale status and ping -c 4 ${{ secrets.HOST }} all work great. HOST is one of the node machine names.
appleboy/scp-action@master gives me:
2024/06/02 20:59:42 error copy file to dest: ***, error message: dial tcp: lookup *** on 1111.222.333.444:53: no such host
I have solved this with an action to get and set the IP to output variables:
- name: netmap
id: tailscale-netmap
run: |
ip=$(tailscale status | grep '${{ secrets.HOST }}' | awk '{print $1}')
echo "LINODE_IP=$ip" >> "$GITHUB_OUTPUT"
- name: copy file via ssh
uses: appleboy/scp-action@0.1.7
with:
host: ${{ steps.tailscale-netmap.outputs.LINODE_IP }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
source: '.output/public//${{ GITHUB_SHA }}'
target: '/home/dockeruser/failreactor/'
overwrite: true
strip_components: 2This is obviously super lame. What am I doing wrong?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels