update deploying

This commit is contained in:
chrislu
2025-06-28 14:59:55 -07:00
parent 52097a1d9b
commit adc7807451
2 changed files with 14 additions and 22 deletions

View File

@@ -4,10 +4,6 @@
name: Deploy Telemetry Server name: Deploy Telemetry Server
on: on:
push:
branches: [ "master" ]
paths:
- 'telemetry/**'
workflow_dispatch: workflow_dispatch:
inputs: inputs:
setup: setup:
@@ -33,6 +29,7 @@ jobs:
go-version: '1.24' go-version: '1.24'
- name: Build Telemetry Server - name: Build Telemetry Server
if: github.event_name == 'workflow_dispatch' && inputs.deploy
run: | run: |
go mod tidy go mod tidy
echo "Building telemetry server..." echo "Building telemetry server..."
@@ -95,34 +92,29 @@ jobs:
endscript endscript
}" > telemetry_logrotate }" > telemetry_logrotate
# Copy binary and configuration files # Copy configuration files
scp -i ~/.ssh/deploy_key telemetry-server $REMOTE_USER@$REMOTE_HOST:~/seaweedfs-telemetry/bin/
scp -i ~/.ssh/deploy_key telemetry/grafana-dashboard.json $REMOTE_USER@$REMOTE_HOST:~/seaweedfs-telemetry/ scp -i ~/.ssh/deploy_key telemetry/grafana-dashboard.json $REMOTE_USER@$REMOTE_HOST:~/seaweedfs-telemetry/
scp -i ~/.ssh/deploy_key telemetry/prometheus.yml $REMOTE_USER@$REMOTE_HOST:~/seaweedfs-telemetry/ scp -i ~/.ssh/deploy_key telemetry/prometheus.yml $REMOTE_USER@$REMOTE_HOST:~/seaweedfs-telemetry/
# Set binary permissions
ssh -i ~/.ssh/deploy_key $REMOTE_USER@$REMOTE_HOST "chmod +x ~/seaweedfs-telemetry/bin/telemetry-server"
# Copy and install service and logrotate files # Copy and install service and logrotate files
scp -i ~/.ssh/deploy_key telemetry.service telemetry_logrotate $REMOTE_USER@$REMOTE_HOST:~/seaweedfs-telemetry/ scp -i ~/.ssh/deploy_key telemetry.service telemetry_logrotate $REMOTE_USER@$REMOTE_HOST:~/seaweedfs-telemetry/
ssh -i ~/.ssh/deploy_key $REMOTE_USER@$REMOTE_HOST " ssh -i ~/.ssh/deploy_key $REMOTE_USER@$REMOTE_HOST "
sudo mv ~/seaweedfs-telemetry/telemetry.service /etc/systemd/system/ && \ sudo mv ~/seaweedfs-telemetry/telemetry.service /etc/systemd/system/ && \
sudo mv ~/seaweedfs-telemetry/telemetry_logrotate /etc/logrotate.d/seaweedfs-telemetry && \ sudo mv ~/seaweedfs-telemetry/telemetry_logrotate /etc/logrotate.d/seaweedfs-telemetry && \
sudo systemctl daemon-reload && \ sudo systemctl daemon-reload && \
sudo systemctl enable telemetry.service && \ sudo systemctl enable telemetry.service"
sudo systemctl start telemetry.service && \
sudo systemctl status telemetry.service"
# Verify initial deployment echo "✅ First-time setup completed successfully!"
ssh -i ~/.ssh/deploy_key $REMOTE_USER@$REMOTE_HOST " echo "📋 Next step: Run the deployment to install the telemetry server binary"
echo 'Waiting for service to start...' echo " 1. Go to GitHub Actions → Deploy Telemetry Server"
sleep 5 echo " 2. Click 'Run workflow'"
curl -f http://localhost:8353/health || echo 'Health check failed - check service logs: sudo journalctl -u telemetry.service -f'" echo " 3. Check 'Deploy telemetry server to remote server'"
echo " 4. Click 'Run workflow'"
rm -f ~/.ssh/deploy_key rm -f ~/.ssh/deploy_key
- name: Deploy Telemetry Server to Remote Server - name: Deploy Telemetry Server to Remote Server
if: (github.event_name == 'push' && contains(github.ref, 'refs/heads/master')) || (github.event_name == 'workflow_dispatch' && inputs.deploy) if: github.event_name == 'workflow_dispatch' && inputs.deploy
env: env:
SSH_PRIVATE_KEY: ${{ secrets.TELEMETRY_SSH_PRIVATE_KEY }} SSH_PRIVATE_KEY: ${{ secrets.TELEMETRY_SSH_PRIVATE_KEY }}
REMOTE_HOST: ${{ secrets.TELEMETRY_HOST }} REMOTE_HOST: ${{ secrets.TELEMETRY_HOST }}

View File

@@ -148,14 +148,14 @@ This will:
- Set up systemd service configuration - Set up systemd service configuration
- Configure log rotation - Configure log rotation
- Upload Grafana dashboard and Prometheus configuration - Upload Grafana dashboard and Prometheus configuration
- Enable the telemetry service (but not start it yet)
**Note**: The setup only prepares the infrastructure. You need to run a deployment afterward to install and start the telemetry server.
### 2. Deploy Updates ### 2. Deploy Updates
Deployments happen automatically when: To deploy updates, manually trigger deployment:
- Code is pushed to the `master` branch with changes in the `telemetry/` directory
Or manually trigger deployment:
1. Go to GitHub Actions in your repository 1. Go to GitHub Actions in your repository
2. Select "Deploy Telemetry Server" workflow 2. Select "Deploy Telemetry Server" workflow
3. Click "Run workflow" 3. Click "Run workflow"