aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2025-06-28 14:21:04 -0700
committerchrislu <chris.lu@gmail.com>2025-06-28 14:21:04 -0700
commit4cd6c3ec3675efcd08fc75fc54bf4e678e778b98 (patch)
treef96ad65a9afe72023d15d22ad03d900b3321136b /.github
parenta1aab8a083111dd9357c7f35397fdf610f23cb6d (diff)
downloadseaweedfs-4cd6c3ec3675efcd08fc75fc54bf4e678e778b98.tar.xz
seaweedfs-4cd6c3ec3675efcd08fc75fc54bf4e678e778b98.zip
copy telemetry server
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/deploy_telemetry.yml38
1 files changed, 29 insertions, 9 deletions
diff --git a/.github/workflows/deploy_telemetry.yml b/.github/workflows/deploy_telemetry.yml
index 8f10af0ce..17479170b 100644
--- a/.github/workflows/deploy_telemetry.yml
+++ b/.github/workflows/deploy_telemetry.yml
@@ -93,17 +93,29 @@ jobs:
endscript
}" > telemetry_logrotate
- # Copy Grafana dashboard and Prometheus config
+ # Copy binary and configuration files
+ scp -i ~/.ssh/deploy_key telemetry/server/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/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
scp -i ~/.ssh/deploy_key telemetry.service telemetry_logrotate $REMOTE_USER@$REMOTE_HOST:~/seaweedfs-telemetry/
ssh -i ~/.ssh/deploy_key $REMOTE_USER@$REMOTE_HOST "
sudo mv ~/seaweedfs-telemetry/telemetry.service /etc/systemd/system/ && \
sudo mv ~/seaweedfs-telemetry/telemetry_logrotate /etc/logrotate.d/seaweedfs-telemetry && \
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
+ 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'"
rm -f ~/.ssh/deploy_key
@@ -128,14 +140,22 @@ jobs:
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/
- # Stop service, move binary, and restart
+ # Check if service exists and deploy accordingly
ssh -i ~/.ssh/deploy_key $REMOTE_USER@$REMOTE_HOST "
- sudo systemctl stop telemetry.service || true && \
- mkdir -p ~/seaweedfs-telemetry/bin && \
- mv ~/seaweedfs-telemetry/tmp/telemetry-server ~/seaweedfs-telemetry/bin/ && \
- chmod +x ~/seaweedfs-telemetry/bin/telemetry-server && \
- sudo systemctl start telemetry.service && \
- sudo systemctl status telemetry.service"
+ if systemctl list-unit-files telemetry.service >/dev/null 2>&1; then
+ echo 'Service exists, performing update...'
+ sudo systemctl stop telemetry.service
+ mkdir -p ~/seaweedfs-telemetry/bin
+ mv ~/seaweedfs-telemetry/tmp/telemetry-server ~/seaweedfs-telemetry/bin/
+ chmod +x ~/seaweedfs-telemetry/bin/telemetry-server
+ sudo systemctl start telemetry.service
+ sudo systemctl status telemetry.service
+ else
+ echo 'ERROR: telemetry.service not found!'
+ echo 'Please run the first-time setup before deploying.'
+ echo 'Go to GitHub Actions → Deploy Telemetry Server → Run workflow → Check \"Run first-time server setup\"'
+ exit 1
+ fi"
# Verify deployment
ssh -i ~/.ssh/deploy_key $REMOTE_USER@$REMOTE_HOST "