Browse Source

update deploying

pull/6931/head
chrislu 3 months ago
parent
commit
adc7807451
  1. 28
      .github/workflows/deploy_telemetry.yml
  2. 8
      telemetry/DEPLOYMENT.md

28
.github/workflows/deploy_telemetry.yml

@ -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
scp -i ~/.ssh/deploy_key telemetry-server $REMOTE_USER@$REMOTE_HOST:~/seaweedfs-telemetry/bin/
# Copy configuration files
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 start telemetry.service && \
sudo systemctl status telemetry.service"
sudo systemctl enable telemetry.service"
# Verify initial deployment
ssh -i ~/.ssh/deploy_key $REMOTE_USER@$REMOTE_HOST "
echo 'Waiting for service to start...'
sleep 5
curl -f http://localhost:8353/health || echo 'Health check failed - check service logs: sudo journalctl -u telemetry.service -f'"
echo "✅ First-time setup completed successfully!"
echo "📋 Next step: Run the deployment to install the telemetry server binary"
echo " 1. Go to GitHub Actions → Deploy Telemetry Server"
echo " 2. Click 'Run workflow'"
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 }}

8
telemetry/DEPLOYMENT.md

@ -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
Deployments happen automatically when:
- Code is pushed to the `master` branch with changes in the `telemetry/` directory
### 2. Deploy Updates
Or manually trigger deployment:
To deploy updates, 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"

Loading…
Cancel
Save