Xcode ಗಾಗಿ ದೂರದ Mac: ಸ್ಥಳೀಯ ಬಿಲ್ಡ್, ದೂರದ ಬಿಲ್ಡ್ ಅಥವಾ ಸ್ಕ್ರೀನ್ ಹಂಚಿಕೆ?
ಮೌಂಟ್ ಮಾಡಿದ ಕಾರ್ಯಸ್ಥಳ ಮತ್ತು ದೂರದ Xcode ವಿಭಿನ್ನ ಡೇಟಾವನ್ನು ಸರಿಸುತ್ತವೆ. ಮೂಲ, ಸೂಚ್ಯಂಕ ಮತ್ತು ಬಿಲ್ಡ್ ಎಲ್ಲಿ ಇರುತ್ತವೆ ಎಂದು ನಿರ್ಧರಿಸಿ, ನಂತರ ಹೋಗಿ-ಬರುವಿಕೆಗಳನ್ನು ಅಳೆಯಿರಿ.
ನೆಟ್ವರ್ಕ್ ಮೂಲಕ ಪ್ರಾಜೆಕ್ಟ್ ಹಂಚಿಕೊಳ್ಳುವುದು Xcode ಅನ್ನು ಸ್ಥಳಾಂತರಿಸುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಅಪ್ಲಿಕೇಶನ್ ನಿಮ್ಮ Mac ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುತ್ತದೆ ಮತ್ತು ಸರ್ವರ್ನಿಂದ ಪ್ರಾಜೆಕ್ಟ್ ಡೇಟಾವನ್ನು ಕೇಳುತ್ತಲೇ ಇರುತ್ತದೆ. ದೂರದ Mac ನಲ್ಲಿ Xcode ಚಲಾಯಿಸಿ ಅದರ ಸ್ಕ್ರೀನ್ ನೋಡುವುದು ಬೇರೆ ವ್ಯವಸ್ಥೆ, ಅಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ಮತ್ತು ಅದರ ಫೈಲ್ಗಳು ಒಟ್ಟಿಗೆ ಇರುತ್ತವೆ ಮತ್ತು ಲಿಂಕ್ ಕೇವಲ ಪ್ರದರ್ಶನ ಮತ್ತು ನಿಮ್ಮ ಇನ್ಪುಟ್ ಅನ್ನು ಸಾಗಿಸುತ್ತದೆ. ಏನನ್ನಾದರೂ ಕಾನ್ಫಿಗರ್ ಮಾಡುವ ಮೊದಲು ಇವುಗಳಲ್ಲಿ ಯಾವುದು ಬೇಕು ಎಂದು ನಿರ್ಧರಿಸುವುದು ನಂತರದ ಗೊಂದಲದ ಹೆಚ್ಚಿನ ಭಾಗವನ್ನು ಬಗೆಹರಿಸುತ್ತದೆ.
ಸಾಮಾನ್ಯ ಸಂದರ್ಭಗಳನ್ನು ಮೂರು ವ್ಯವಸ್ಥೆಗಳು ಒಳಗೊಳ್ಳುತ್ತವೆ, ಮತ್ತು ಕಾರ್ಯಸ್ಥಳ ಎಲ್ಲಿ ಇರುತ್ತದೆ ಮತ್ತು ಯಾವ ಯಂತ್ರ ಕಂಪೈಲ್ ಮಾಡುತ್ತದೆ ಎಂಬುದರಲ್ಲಿ ಅವು ಭಿನ್ನವಾಗಿವೆ. ಮುಂದುವರಿಯುವ ಮೊದಲು ಎರಡೂ ಅಂಶಗಳಿಗೆ ನಿಮ್ಮ ಉತ್ತರವನ್ನು ಬರೆಯಿರಿ.
Xcode ಚಲಾಯಿಸುವ ಯಂತ್ರವನ್ನು ಹೆಸರಿಸಿ
ಮೊದಲ ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಎಲ್ಲವೂ ಸ್ಥಳೀಯ: ಕೆಲಸದ ಪ್ರತಿ, ಸೂಚ್ಯಂಕ ಮತ್ತು ಬಿಲ್ಡ್ ಎಲ್ಲವೂ ನಿಮ್ಮ Mac ನಲ್ಲಿ ಇರುತ್ತವೆ, ಮತ್ತು ನೆಟ್ವರ್ಕ್ ಕೇವಲ ರಿಪಾಜಿಟರಿ ಮತ್ತು ಅವಲಂಬನೆಗಳ ಸಂಚಾರವನ್ನು ಸಾಗಿಸುತ್ತದೆ. ಎರಡನೆಯದರಲ್ಲಿ ಪ್ರಾಜೆಕ್ಟ್ Xcode ಜೊತೆಗೆ ದೂರದ Mac ನಲ್ಲಿ ಉಳಿಯುತ್ತದೆ, ಆದ್ದರಿಂದ ಸೂಚ್ಯಂಕೀಕರಣ ಮತ್ತು ಕಂಪೈಲೇಶನ್ ಫೈಲ್ಗಳ ಪಕ್ಕದಲ್ಲೇ ನಡೆಯುತ್ತವೆ, ಲಿಂಕ್ ಸ್ಕ್ರೀನ್ ವಿಷಯ ಮತ್ತು ಕೀಲಿ ಒತ್ತುವಿಕೆಗಳನ್ನು ಸಾಗಿಸುತ್ತದೆ. ಮೂರನೆಯದರಲ್ಲಿ ಸಂಪಾದನೆ ಸ್ಥಳೀಯವಾಗಿ ನಡೆಯುತ್ತದೆ ಮತ್ತು ಸ್ಪಷ್ಟ ಮೂಲ ಹಸ್ತಾಂತರದ ನಂತರ ದೂರದ ಹೋಸ್ಟ್ನಲ್ಲಿ ಬಿಲ್ಡ್ ಚಲಿಸುತ್ತದೆ. ಯಾವುದು ಏನನ್ನು ಸರಿಸುತ್ತದೆ ಎಂದು ಕೋಷ್ಟಕ ತಿಳಿಸುತ್ತದೆ.
| Arrangement | Where the source lives | What crosses the link |
|---|---|---|
| Everything local | Local disk | Repository and dependency traffic |
| Remote Xcode, screen shared | Remote disk | Display frames and input events |
| Local edit, remote build | Both, with a handoff | Source transfer, then build output |
ಮೊದಲು ಮಧ್ಯದ ಕಾಲಮ್ ಓದಿ, ಏಕೆಂದರೆ ವೈಫಲ್ಯಗಳು ಎಲ್ಲಿ ಕಾಣಿಸುತ್ತವೆ ಎಂಬುದನ್ನು ಅದು ನಿರ್ಧರಿಸುತ್ತದೆ. ಮೂಲ ದೂರದಲ್ಲಿರುವ ಕೆಲಸದ ಹರಿವು ಲಿಂಕ್ ನಿಧಾನವಾದಾಗ ವಿಫಲವಾಗುತ್ತದೆ, ಆದರೆ ದೂರದ ಕಂಪೈಲರ್ ಇರುವ ಹರಿವು ಹಸ್ತಾಂತರ ಅಸ್ಪಷ್ಟವಾದಾಗ ವಿಫಲವಾಗುತ್ತದೆ. ಮೂರನೆಯದು ಮಾತ್ರ ನಿಮ್ಮನ್ನು ಎರಡಕ್ಕೂ ಜವಾಬ್ದಾರರನ್ನಾಗಿಸುತ್ತದೆ.
ಹೋಗಿ-ಬರುವಿಕೆಗಳನ್ನು ಎಣಿಸಿ, ಮೆಗಾಬೈಟ್ಗಳನ್ನಲ್ಲ
ಸಂಪಾದಕ ಮತ್ತು ಸೂಚ್ಯಂಕಕಾರ ಬಹಳಷ್ಟು ಸಣ್ಣ ಫೈಲ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಹೊರಡಿಸುತ್ತವೆ, ಮತ್ತು ಫೈಲ್ ಸಿಸ್ಟಮ್ ದೂರದಲ್ಲಿದ್ದಾಗ ಪ್ರತಿಯೊಂದೂ ಹೋಗಿ-ಬರುವಿಕೆಯಾಗುತ್ತದೆ. ಇದು ಮೌಂಟ್ ಮಾಡಿದ ಕಾರ್ಯಸ್ಥಳವನ್ನು ಒಂದು ದೊಡ್ಡ ಪ್ರತಿ ಇಲ್ಲದ ರೀತಿಯಲ್ಲಿ ವಿಳಂಬದ ಬಗ್ಗೆ ಸೂಕ್ಷ್ಮವಾಗಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಫೈಲ್ ವರ್ಗಾವಣೆಯ ಸಮಯವನ್ನು ಅಳೆಯುವುದು ಕೆಲಸದ ಹರಿವು ಹೇಗೆ ಅನಿಸುತ್ತದೆ ಎಂಬುದರ ಬಗ್ಗೆ ಬಹುತೇಕ ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ. ದೂರದ ಪ್ರದರ್ಶನವು ವಿರುದ್ಧ ಪ್ರೊಫೈಲ್ ಹೊಂದಿದೆ: ಅದು ನಿರಂತರ ಹರಿವನ್ನು ಸರಿಸುತ್ತದೆ ಮತ್ತು ವಿಳಂಬಕ್ಕಿಂತ ಥ್ರೂಪುಟ್ ಅನ್ನು ಚೆನ್ನಾಗಿ ಸಹಿಸುತ್ತದೆ. ಎರಡನ್ನೂ ಒಂದು ಸಂಖ್ಯೆಯಿಂದ ಹೋಲಿಸಿದರೆ ಆತ್ಮವಿಶ್ವಾಸದ ತಪ್ಪು ಉತ್ತರ ಬರುತ್ತದೆ.
ಯಾವ ವ್ಯವಸ್ಥೆಯೂ ಸ್ವಭಾವತಃ ಅತ್ಯಂತ ವೇಗವಲ್ಲ. ಸರಿಯಾದ ಆಯ್ಕೆ ನೀವು ನಿಜವಾಗಿ ಮಾಡುವ ಕೆಲಸವನ್ನು ಅವಲಂಬಿಸಿದೆ, ಆದ್ದರಿಂದ ಮುಂದಿನ ಹೆಜ್ಜೆ ಮಾನದಂಡವಲ್ಲ, ಆ ಕೆಲಸವನ್ನೇ ಪ್ರಯತ್ನಿಸುವುದು.
ಮೂಲ ಹಸ್ತಾಂತರವನ್ನು ಸ್ಪಷ್ಟಗೊಳಿಸಿ
ಎರಡೂ ಯಂತ್ರಗಳು ಕೆಲಸದ ಪ್ರತಿಯನ್ನು ಹೊಂದಿದ್ದಾಗ, ಯಾವುದು ಅಧಿಕೃತ ಮತ್ತು ದೂರದ ಬಿಲ್ಡ್ ಯಾವ ಪರಿಷ್ಕರಣೆಯನ್ನು ಬಳಸಿತು ಎಂದು ನಿರ್ಧರಿಸಿ. ಒಂದೇ ಮೌಂಟ್ ಮಾಡಿದ ಕೆಲಸದ ಮರವನ್ನು ಎರಡು ಸಾಧನಗಳು ಸಂಪಾದಿಸುವುದಕ್ಕಿಂತ ಕಮಿಟ್ ಸ್ಪಷ್ಟವಾದ ಹಸ್ತಾಂತರ, ಏಕೆಂದರೆ ಕಮಿಟ್ಗೆ ಗುರುತು ಇದೆ, ಮೌಂಟ್ಗೆ ಇಲ್ಲ. ಉತ್ಪಾದಿತ ಔಟ್ಪುಟ್ ಮತ್ತು ಸೂಚ್ಯಂಕ ಡೇಟಾಕ್ಕೂ ಮಾಲೀಕ ಬೇಕು, ಏಕೆಂದರೆ ಅವು ಮೂಲದಿಂದ ಮರುನಿರ್ಮಾಣವಾಗುತ್ತವೆ ಮತ್ತು ಮೂಲವಾದಂತೆ ಪ್ರಯಾಣಿಸಬಾರದು. ಸಂಘರ್ಷದ ನಿಯಮಗಳಿಲ್ಲದ ದ್ವಿಮುಖ ಕನ್ನಡಿ ಕೆಲಸದ ಹರಿವಲ್ಲ, ಅದು ಓಟ.
ದೂರದಿಂದ ಬಿಲ್ಡ್ ಮಾಡಲು ಸಹ ಅಗತ್ಯ ದೂರದ ಹೋಸ್ಟ್ ಸರಿಯಾದ ಉಪಕರಣ ಸರಪಳಿಯನ್ನು ಹೊಂದಿರುವುದು ಮತ್ತು ಖಾಸಗಿ ಅವಲಂಬನೆಗಳಿಗೆ ರುಜುವಾತುಗಳು. ಹೋಸ್ಟ್ ತಲುಪಲು ಅನುವು ಮಾಡುವ VPN ನಿಮ್ಮ ಖಾತೆಯ ಪ್ರವೇಶವನ್ನು ಅದಕ್ಕೆ ಎರವಲು ಕೊಡುವುದಿಲ್ಲ, ಮತ್ತು ಅಲ್ಲಿ Xcode ಅನ್ನು ಸ್ಥಾಪಿಸುವುದಿಲ್ಲ.
ಕೆಲಸದ ಹರಿವಿಗೆ ಬದ್ಧರಾಗುವ ಮೊದಲು ಮಾರ್ಗವನ್ನು ಪರಿಶೀಲಿಸಿ
ದೂರದ ಹೋಸ್ಟ್ ಸುತ್ತ ವಿನ್ಯಾಸ ಮಾಡುವ ಮೊದಲು ಅದನ್ನು ಪರಿಶೀಲಿಸಿ, ನಂತರ ಕೆಲಸದ ಹರಿವು ನಿಜವಾಗಿ ಮಾಡುವ ಕಾರ್ಯಾಚರಣೆಗಳಿಂದ ಲಿಂಕ್ ಅನ್ನು ಅಳೆಯಿರಿ. ಕೆಳಗಿನ ಆದೇಶಗಳು ಉಪಕರಣ ಸರಪಳಿ, ಸಕ್ರಿಯ ಡೆವಲಪರ್ ಡೈರೆಕ್ಟರಿ ಮತ್ತು ದೂರದ ಕಾರ್ಯಸ್ಥಳಗಳನ್ನು ನೋವಿನಿಂದ ಮಾಡುವ ಫೈಲ್ ವೀಕ್ಷಣೆ ವೆಚ್ಚವನ್ನು ಪರಿಶೀಲಿಸುತ್ತವೆ. ಕೊನೆಯದನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಅಲ್ಲ, ನೆಟ್ವರ್ಕ್ ಮಾರ್ಗದಲ್ಲಿ ಚಲಾಯಿಸಿ.
xcode-select -p
xcodebuild -version
ssh mac-builder 'xcodebuild -version'
time git status --porcelain
ಪೂರ್ಣ Xcode ಸ್ಥಾಪನೆ ಇಲ್ಲದ ಹೋಸ್ಟ್ xcodebuild ನಿಂದ ದೋಷವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ, ಮತ್ತು ಇದು ನೆಟ್ವರ್ಕ್ ಅಲ್ಲ, ಉಪಕರಣ ಸರಪಳಿಯ ಸಮಸ್ಯೆ. ಡೆವಲಪರ್ ಡೈರೆಕ್ಟರಿ ಯಾವ Xcode ಅನ್ನು ಬಿಲ್ಡ್ ಬಳಸುತ್ತದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ, ಮತ್ತು ಕೇವಲ ಆಜ್ಞಾ ಸಾಲಿನ ಉಪಕರಣಗಳಿಗೆ ತೋರಿಸುವ ಮಾರ್ಗ ಎಂದರೆ ಅಪ್ಲಿಕೇಶನ್ ಸ್ಥಾಪಿಸಲಾಗಿಲ್ಲ. ಮೌಂಟ್ ಮಾಡಿದ ಹಂಚಿಕೆಯ ಮೇಲೆ ರಿಪಾಜಿಟರಿ ಸ್ಥಿತಿ ಆದೇಶದ ಸಮಯವನ್ನು ಅಳೆಯುವುದು ಹೋಗಿ-ಬರುವಿಕೆ ವೆಚ್ಚವನ್ನು ನೇರವಾಗಿ ಬಯಲಿಗೆಳೆಯುತ್ತದೆ, ಮತ್ತು ಸ್ಥಳೀಯ ಚಾಲನೆಯೊಂದಿಗೆ ಹೋಲಿಸಿದರೆ ಮುಖ್ಯವಾದ ಸಂಖ್ಯೆ ಸಿಗುತ್ತದೆ. ಆ ಅಂತರ ಈಗಾಗಲೇ ಅಹಿತಕರವಾಗಿದ್ದರೆ, ನಿಜವಾದ ಸಂಪಾದಕದ ಅಡಿಯಲ್ಲಿ ಮೌಂಟ್-ಕಾರ್ಯಸ್ಥಳದ ಹರಿವು ಇನ್ನಷ್ಟು ಕೆಟ್ಟದಾಗಿರುತ್ತದೆ.
ನೀವು ಯಾವ ವ್ಯವಸ್ಥೆಯನ್ನು ಆರಿಸಿದಿರಿ, ಯಾವ ಯಂತ್ರ ಮೂಲವನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಹಸ್ತಾಂತರ ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಎಂದು ದಾಖಲಿಸಿ. ಆ ಟಿಪ್ಪಣಿ ಮುಂದಿನ ಆನ್ಬೋರ್ಡಿಂಗ್ ಅಥವಾ ಲ್ಯಾಪ್ಟಾಪ್ ಬದಲಾವಣೆಯನ್ನು ತನಿಖೆಯ ಬದಲು ಕಾನ್ಫಿಗರೇಶನ್ ಕೆಲಸವನ್ನಾಗಿ ಮಾಡುತ್ತದೆ.