Три боли: зеркало равно релиз
Во‑первых, цель — публичное дерево. rclone держит согласованность, но ошибки фильтров и удаления на источнике копируются. Для артефактов iOS/macOS на удалённом Mac сначала staging, затем переключение симлинка из атомарного релиза.
Во‑вторых, рассинхрон с internal-sftp. Без shell rclone SFTP работает, но ожидание удалённых команд даёт таймауты. Проверьте владельцев и jail в chroot мультитенант.
В‑третьих, секреты в rclone.conf. Следуйте статье CI/OIDC: краткоживущие ключи и разделение сред.
Дополнение: разделите учётки зеркала и загрузки; согласуйте параллельные сессии с --transfers. Не направляйте зеркало на current. Конфиденциальный conf не в Git. Bastion: ProxyJump.
Роли инструментов
rsync по SSH для дельт между известными путями. Интерактивный SFTP для ручной диагностики. rclone для нескольких бэкендов. На одном входе Mac — дополнение, не замена.
Флаги checksum дополняют контроль целостности, но не равны бизнес‑утверждению.
Матрица
| Сценарий | Инструмент | Риск |
|---|---|---|
| CI в staging releases | rsync | частичная публикация in-place |
| Объектное хранилище на Mac | rclone | удаления sync |
| Ручная проверка | SFTP | нет автоматизации |
Семь шагов
rclone config create mac_sftp sftp host sftp.example.com user mirror_ro key_file "$RUNNER_TEMP/ci_ed25519" shell_type none
rclone copy ./assets mac_sftp:assets_mirror/ --transfers 4 --checkers 8 --sftp-connections 2 -v
Цифры
Старт с четырьмя transfers, наблюдать CPU sshd и RTT. P95 рукопожатия выше восьмисот миллисекунд — проверять bastion и таблицы сессий.
FAQ
Заменяет ли rclone rsync в CI?
Только при восстановлении атомарной семантики; чаще rsync для дельты, rclone для зеркал.
Итог: инструменты дополняют друг друга; границы и целостность делают синхронизацию проверяемой.
Предел: DIY мультитенант дорог; SFTPMAC упаковывает изоляцию.
Ёмкость и эксплуатация: фиксируйте ожидаемые ГБ/ч, число параллельных пайплайнов и окна зеркалирования до роста --transfers или MaxSessions. Сопоставляйте логи rclone с sshd (principal, префикс, run id). Снимайте P95 рукопожатия отдельно для облачных и self-hosted раннеров; без тикета не распространяйте удаления в видимые релизные деревья.
Смотрите тарифы SFTPMAC для изолированных Mac.
