entrypoint.sh 830 B

1234567891011121314151617181920212223242526
  1. #!/bin/bash
  2. # 容器启动时自动将 backend 代码同步到 253 训练节点
  3. REMOTE_USER="${COMPUTE_NODE_SSH_USER:-root}"
  4. REMOTE_HOST="${COMPUTE_NODE_HOST}"
  5. REMOTE_PASS="${COMPUTE_NODE_SSH_PASSWORD}"
  6. REMOTE_DIR="/root/Fine-tuning/backend"
  7. if [ -n "$REMOTE_HOST" ]; then
  8. echo "=> Syncing backend code to compute node ${REMOTE_HOST} ..."
  9. if [ -n "$REMOTE_PASS" ]; then
  10. sshpass -p "$REMOTE_PASS" rsync -avz --delete \
  11. -e "ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5" \
  12. /app/ ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR}/
  13. else
  14. rsync -avz --delete \
  15. -e "ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5" \
  16. /app/ ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_DIR}/
  17. fi
  18. echo "=> Sync done."
  19. else
  20. echo "=> No compute node configured, skipping code sync."
  21. fi
  22. # 启动主进程
  23. exec "$@"