Berkongsi projek melalui rangkaian tidak memindahkan Xcode, kerana aplikasi terus berjalan pada Mac anda dan terus meminta data projek daripada pelayan. Menjalankan Xcode pada Mac jauh dan melihat skrinnya ialah susunan lain, di mana aplikasi dan failnya kekal bersama dan pautan hanya membawa paparan serta input anda. Memutuskan mana satu yang anda mahu, sebelum mengkonfigurasi apa-apa, menyelesaikan sebahagian besar kekeliruan kemudian.

Tiga susunan meliputi kes biasa, dan ketiganya berbeza dari segi tempat ruang kerja berada dan mesin mana yang mengkompil. Tulis jawapan anda bagi kedua-dua perkara itu sebelum meneruskan.

Namakan mesin yang menjalankan Xcode

Dalam susunan pertama semuanya setempat: salinan kerja, indeks dan binaan semuanya berada pada Mac anda, dan rangkaian hanya membawa trafik repositori dan kebergantungan. Dalam yang kedua projek kekal pada Mac jauh bersama Xcode, jadi pengindeksan dan pengkompilan berlaku di sisi fail manakala pautan membawa kandungan skrin dan ketukan kekunci. Dalam yang ketiga penyuntingan berlaku secara setempat dan binaan dijalankan pada hos jauh selepas penyerahan sumber yang jelas. Jadual menyebut apa yang dipindahkan oleh setiap satu.

ArrangementWhere the source livesWhat crosses the link
Everything localLocal diskRepository and dependency traffic
Remote Xcode, screen sharedRemote diskDisplay frames and input events
Local edit, remote buildBoth, with a handoffSource transfer, then build output

Baca lajur tengah dahulu, kerana lajur itu menentukan tempat kegagalan akan muncul. Aliran kerja yang sumbernya jauh gagal apabila pautan perlahan, manakala aliran kerja dengan pengkompil jauh gagal apabila penyerahan tidak jelas. Hanya yang ketiga menjadikan anda bertanggungjawab atas kedua-duanya.

Kira perjalanan pergi balik, bukan megabait

Penyunting dan pengindeks mengeluarkan banyak operasi fail kecil, dan setiap satu menjadi perjalanan pergi balik apabila sistem fail berada jauh. Itu menjadikan ruang kerja yang dipasang sensitif kepada kependaman seperti satu salinan besar tidak, sebab itulah mengukur masa pemindahan fail hampir tidak memberitahu anda apa-apa tentang bagaimana aliran kerja terasa. Paparan jauh mempunyai profil sebaliknya: ia memindahkan aliran berterusan dan lebih tahan kepada daya pemprosesan daripada kelewatan. Membandingkan kedua-duanya dengan satu nombor menghasilkan jawapan salah yang yakin.

Tiada susunan yang paling laju secara semula jadi. Pilihan yang betul bergantung pada kerja yang anda benar-benar lakukan, sebab itulah langkah seterusnya ialah mencuba kerja itu dan bukan penanda aras.

Jadikan penyerahan sumber itu jelas

Apabila kedua-dua mesin memegang salinan kerja, putuskan yang mana berwibawa dan semakan mana yang digunakan oleh binaan jauh. Commit ialah penyerahan yang lebih jelas daripada dua alat menyunting satu pokok kerja yang dipasang, kerana commit mempunyai identiti dan pemasangan tidak. Output yang dijana dan data indeks juga perlu pemilik, kerana kedua-duanya dibina semula daripada sumber dan tidak sepatutnya bergerak seolah-olah sumber. Cermin dua hala tanpa peraturan konflik bukan aliran kerja, ia adalah perlumbaan.

Membina secara jauh juga memerlukan hos jauh memiliki rantaian alat yang betul dan kelayakan untuk kebergantungan persendirian. VPN yang membolehkan anda mencapai hos tidak meminjamkan akses akaun anda kepadanya, dan ia tidak memasang Xcode di sana.

Periksa laluan sebelum anda komited kepada aliran kerja

Sahkan hos jauh sebelum mereka bentuk di sekelilingnya, kemudian ukur pautan dengan operasi yang akan benar-benar dilakukan oleh aliran kerja. Arahan di bawah memeriksa rantaian alat, direktori pembangun aktif dan kos pemerhatian fail yang menjadikan ruang kerja jauh menyakitkan. Jalankan yang terakhir melalui laluan rangkaian dan bukan secara setempat.

xcode-select -p
xcodebuild -version
ssh mac-builder 'xcodebuild -version'
time git status --porcelain

Hos tanpa pemasangan Xcode yang lengkap mengembalikan ralat daripada xcodebuild, dan itu masalah rantaian alat dan bukan masalah rangkaian. Direktori pembangun menunjukkan Xcode mana yang akan digunakan oleh binaan, dan laluan yang hanya menunjuk kepada alat baris arahan bermakna aplikasi itu tidak dipasang. Mengukur masa arahan status repositori melalui perkongsian yang dipasang mendedahkan kos perjalanan pergi balik secara langsung, dan membandingkannya dengan jalanan setempat memberikan nombor yang penting. Jika jurang itu sudah tidak menyenangkan, aliran kerja ruang kerja yang dipasang akan lebih buruk di bawah penyunting sebenar.

Catat susunan mana yang anda pilih, mesin mana yang memiliki sumber dan bagaimana penyerahan berfungsi. Nota itu menjadikan orientasi atau penggantian komputer riba seterusnya sebagai tugas konfigurasi dan bukannya penyiasatan.

Artikel berkaitan