בדף הזה מוסבר איך להשתמש ב-Cloud Code for VS Code Remote Development, כלומר, איך לפתוח את בסיס הקוד בקונטיינר מרוחק שבו האפליקציה נבנית, עוברת ניפוי באגים ונפרסת. כך נוצרת אפליקציה ניידת, ללא קשר למערכת ההפעלה של מחשב הפיתוח.
דרישות מוקדמות
בנוסף להגדרה שמתוארת במאמר התקנת התוסף של Cloud Code, צריך להתקין את חבילת התוספים Remote Development של VS Code.
הגדרה
כדי להגדיר תיקייה
.devcontainerעם Dockerfile וקובץDevcontainer.jsonשמוגדר לשפה שבה אתם משתמשים, לוחצים על
Open a Remote Window (פתיחת חלון מרוחק) > Add Dev Container Config Files (הוספת קובצי הגדרות של מארח פיתוח).
אפשר גם לפעול לפי השלבים במאמר פיתוח מרחוק במאגרי תמונות (Containers).אחרי שתפעלו לפי ההנחיות, סביבת העבודה שלכם תכלול:
Dockerfile – מגדיר קובץ אימג' של קונטיינר שמכיל את כלי הפיתוח להתקנה בקונטיינר פיתוח מרוחק.
Devcontainer.json— מציין לתוסף VS Code Remote Tools איך להפעיל את קונטיינר הפיתוח המרוחק.
פותחים את Dockerfile ומוסיפים הוראות להתקנה של Google Cloud CLI ושל Skaffold. לקבלת פקודות עדכניות, אפשר לעיין במדריכי ההתקנה.
ב-Dockerfile, מוסיפים הוראות להעתקת ההגדרות של gcloud CLI ו-Skaffold ב-localhost לפני הפקודה
>> $HOME/.bashrc. לחלופין, אפשר לשכתב את הפקודות כדי להתקין את ה-CLI של gcloud ואת Skaffold.# Copy localhost's ~/.kube/config file into the container and swap out localhost # for host.docker.internal whenever a new shell starts to keep them in sync. RUN echo '\n\ if [ "$SYNC_LOCALHOST_KUBECONFIG" == "true" ]; then\n\ mkdir -p $HOME/.kube\n\ cp -r $HOME/.kube-localhost/* $HOME/.kube\n\ sed -i -e "s/localhost/host.docker.internal/g" $HOME/.kube/config\n\ \n\ fi' \ if [ "$SYNC_LOCALHOST_GCLOUD" == "true" ]; then\n\ mkdir -p $HOME/.config/gcloud\n\ cp -r $HOME/.gcloud-localhost/* $HOME/.config/gcloud\n\ \n\ fi' \פותחים את הקובץ
Devcontainer.jsonומוסיפים את ארגומנטי ההרצה הבאים כדי להעתיק את ההגדרות של ה-CLI של gcloud ושל Skaffold מ-localhost:"-e", "SYNC_LOCALHOST_KUBECONFIG=true", "-e", "SYNC_LOCALHOST_GCLOUD=true",אחרי שמוסיפים לקבצים את התוכן הנדרש, לוחצים על
פתיחת חלון מרוחק.
קובץ לדוגמה devcontainer.json
קובץ devcontainer.json מציין לתוסף Remote Container אילו יציאות לחשוף בקונטיינר, איך לטעון כוננים ואילו תוספים להתקין בקונטיינר המרוחק. בדוגמה הבאה של קובץ devcontainer.json מצוין שהתוסף Remote Container צריך להתקין את התוסף Cloud Code ל-VS Code:
"runArgs": [
"-v","/var/run/docker.sock:/var/run/docker.sock",
"--mount", "type=bind,source=${env:HOME}${env:USERPROFILE}/.kube,target=/root/.kube-localhost",
"--mount", "type=bind,source=${env:HOME}${env:USERPROFILE}/.config/gcloud,target=/root/.gcloud-localhost",
"-e", "SYNC_LOCALHOST_KUBECONFIG=true",
"-e", "SYNC_LOCALHOST_GCLOUD=true",
"--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"
]
המאמרים הבאים
- אפשר לקרוא את המסמכים של Visual Studio בנושא פיתוח מרחוק באמצעות SSH.
- אפשר לעבור על הדרכה כדי להריץ את Visual Studio Code במאגר Docker באמצעות התוסף Dev containers.