{"id":9183,"date":"2023-07-02T08:29:00","date_gmt":"2023-07-02T05:29:00","guid":{"rendered":"https:\/\/www.almtoolbox.com\/blog_he\/?p=9183"},"modified":"2023-07-09T13:52:54","modified_gmt":"2023-07-09T10:52:54","slug":"gitlab-remote-development-workspaces","status":"publish","type":"post","link":"https:\/\/www.almtoolbox.com\/blog_he\/gitlab-remote-development-workspaces\/","title":{"rendered":"\u05de\u05d3\u05e8\u05d9\u05da \u05de\u05d4\u05d9\u05e8: \u05d9\u05e6\u05d9\u05e8\u05ea \u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05e4\u05d9\u05ea\u05d5\u05d7 \u05de\u05e8\u05d5\u05d7\u05e7\u05d5\u05ea \u05d1\u05d2\u05d9\u05d8\u05dc\u05d0\u05d1 (GitLab Remote Development Workspaces)"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/gitlab-16-1024x415.jpg\" alt=\"gitlab codespaces\" class=\"wp-image-9223\" width=\"768\" height=\"311\" srcset=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/gitlab-16-1024x415.jpg 1024w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/gitlab-16-300x122.jpg 300w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/gitlab-16-768x311.jpg 768w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/gitlab-16.jpg 1086w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure>\n\n\n\n<p>\u05dc\u05d0\u05d7\u05e8\u05d5\u05e0\u05d4 \u05d9\u05e6\u05d0\u05d4 <a href=\"https:\/\/www.almtoolbox.com\/blog\/whats-new-in-gitlab-16\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u05de\u05d4\u05d3\u05d5\u05e8\u05d4 16.0 \u05e9\u05dc GitLab<\/a>, \u05d5\u05d0\u05d7\u05d3 \u05d4\u05d7\u05d9\u05d3\u05d5\u05e9\u05d9\u05dd \u05d4\u05de\u05e2\u05e0\u05d9\u05d9\u05e0\u05d9\u05dd \u05d1\u05d4 \u05d4\u05d5\u05d0 \u05d9\u05e6\u05d9\u05e8\u05ea <em><strong>\u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05e4\u05d9\u05ea\u05d5\u05d7 \u05de\u05e8\u05d5\u05d7\u05e7\u05d5\u05ea<\/strong><\/em>.<\/p>\n\n\n\n<p>\u05d4\u05d5\u05d0\u05d9\u05dc \u05d5\u05d0\u05e0\u05d5 \u05e2\u05d5\u05e1\u05e7\u05d9\u05dd \u05e8\u05d1\u05d5\u05ea \u05d1- GitLab \u05d1\u05d7\u05d1\u05e8\u05d4 (\u05d0\u05e0\u05d5 \u05d4\u05e0\u05e6\u05d9\u05d2\u05d9\u05dd \u05d4\u05e8\u05e9\u05de\u05d9\u05d9\u05dd \u05e9\u05dc \u05d4\u05d9\u05e6\u05e8\u05df \u05d1\u05d0\u05e8\u05e5 \u05d5\u05d1\u05de\u05d3\u05d9\u05e0\u05d5\u05ea \u05e0\u05d5\u05e1\u05e4\u05d5\u05ea \u05de\u05d0\u05d6 2016, \u05d5\u05de\u05e1\u05e4\u05e7\u05d9\u05dd \u05e4\u05ea\u05e8\u05d5\u05e0\u05d5\u05ea \u05e8\u05d1\u05d9\u05dd \u05e1\u05d1\u05d9\u05d1 \u05d4\u05de\u05d5\u05e6\u05e8), \u05d7\u05e9\u05d1\u05ea\u05d9 \u05dc\u05db\u05ea\u05d5\u05d1 \u05d4\u05e1\u05d1\u05e8 \u05d5\u05de\u05d3\u05e8\u05d9\u05da \u05d8\u05db\u05e0\u05d9 \u05e7\u05e6\u05e8 \u05d0\u05d9\u05da \u05dc\u05d4\u05ea\u05e0\u05e1\u05d5\u05ea \u05d1\u05d9\u05db\u05d5\u05dc\u05ea \u05d6\u05d5.<\/p>\n\n\n\n<p><em>Remote Development Workspaces<\/em> \u05d4\u05d9\u05d0 \u05ea\u05db\u05d5\u05e0\u05d4 \u05d7\u05d3\u05e9\u05d4 \u05d5\u05e9\u05d9\u05de\u05d5\u05e9\u05d9\u05ea, \u05d4\u05de\u05e2\u05e0\u05d9\u05e7\u05d4 \u05dc\u05e6\u05d5\u05d5\u05ea\u05d9 \u05e4\u05d9\u05ea\u05d5\u05d7 \u05d0\u05e4\u05e9\u05e8\u05d5\u05ea \u05dc\u05d9\u05e6\u05d5\u05e8 \u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05e4\u05d9\u05ea\u05d5\u05d7 \u05d1\u05e2\u05e0\u05df, <br>\u05db\u05da \u05e9\u05db\u05dc \u05d4\u05e7\u05d5\u05d3 \u05d9\u05d5\u05e9\u05d1 \u05d1\u05e1\u05d1\u05d9\u05d1\u05d4 \u05de\u05d5\u05d2\u05e0\u05ea (\u05dc\u05d4\u05d1\u05d3\u05d9\u05dc \u05dc\u05de\u05e9\u05dc \u05de\u05e1\u05d1\u05d9\u05d1\u05d4 \u05e9\u05d9\u05d5\u05e9\u05d1\u05ea \u05e2\u05dc \u05d4\u05dc\u05e4\u05d8\u05d5\u05e4 \u05e9\u05dc \u05d4\u05de\u05e4\u05ea\u05d7). <br>\u05d6\u05d5 \u05e1\u05d1\u05d9\u05d1\u05ea \u05e4\u05d9\u05ea\u05d5\u05d7 \u05e9\u05d4\u05d9\u05d0 \u05de\u05e2\u05d9\u05df Virtual Sandbox, \u05e2\u05e7\u05d1\u05d9\u05ea \u05d5\u05e7\u05dc\u05d4 \u05dc\u05d2\u05d9\u05d1\u05d5\u05d9 \u05d5\u05dc\u05e9\u05d7\u05d6\u05d5\u05e8, \u05d5\u05db\u05da \u05de\u05d0\u05e4\u05e9\u05e8\u05ea \u05dc\u05e6\u05d5\u05d5\u05ea\u05d9\u05dd \u05dc\u05d1\u05e0\u05d5\u05ea \u05d5\u05dc\u05e1\u05e4\u05e7 \u05ea\u05d5\u05db\u05e0\u05d4 \u05d1\u05e6\u05d5\u05e8\u05d4 \u05d9\u05e2\u05d9\u05dc\u05d4 \u05d5\u05d1\u05d8\u05d5\u05d7\u05d4 \u05d9\u05d5\u05ea\u05e8, \u05dc\u05e7\u05e6\u05e8 \u05d0\u05ea \u05d6\u05de\u05df \u05d4- onboarding \u05e9\u05dc \u05de\u05e4\u05ea\u05d7\u05d9\u05dd \u05d7\u05d3\u05e9\u05d9\u05dd \u05d0\u05d5 \u05e1\u05e4\u05e7\u05d9 \u05de\u05e9\u05e0\u05d4 (contractors).<br>\u05d1\u05db\u05da \u05dc\u05de\u05e2\u05e9\u05d4 \u05d4\u05d9\u05d0 \u05d2\u05dd \u05e2\u05d5\u05d6\u05e8\u05ea \u05dc\u05e7\u05e6\u05e8 \u05d0\u05ea \u05d4\u05d6\u05de\u05df \u05d4\u05db\u05d5\u05dc\u05dc \u05e9\u05dc \u05d4\u05e4\u05d9\u05ea\u05d5\u05d7, \u05d5\u05dc\u05d4\u05d5\u05e6\u05d9\u05d0 \u05de\u05d4\u05e8 \u05d9\u05d5\u05ea\u05e8 \u05d0\u05ea \u05d4\u05de\u05d5\u05e6\u05e8 \u05dc\u05e9\u05d5\u05e7.&nbsp;&nbsp;&nbsp;&nbsp;<\/p>\n\n\n\n<p>&nbsp;\u05de\u05d3\u05e8\u05d9\u05da \u05d6\u05d4 \u05de\u05e1\u05e4\u05e7 \u05d4\u05d5\u05e8\u05d0\u05d5\u05ea \u05e9\u05dc\u05d1 \u05d0\u05d7\u05e8 \u05e9\u05dc\u05d1 \u05e2\u05dc \u05d0\u05d9\u05da \u05d9\u05d5\u05e6\u05e8\u05d9\u05dd \u05e1\u05d1\u05d9\u05d1\u05ea \u05e2\u05d1\u05d5\u05d3\u05d4 \u05d1\u05e2\u05e0\u05df, \u05d9\u05e9\u05d9\u05e8\u05d5\u05ea \u05de\u05d7\u05e9\u05d1\u05d5\u05df \u05d4-GitLab, \u05d5\u05e2\u05d5\u05d1\u05d3\u05d9\u05dd \u05d9\u05e9\u05d9\u05e8\u05d5\u05ea \u05de\u05d4\u05e1\u05d1\u05d9\u05d1\u05d4 \u05d4\u05de\u05e8\u05d5\u05d7\u05e7\u05ea.<\/p>\n\n\n\n<p>\u05dc\u05e4\u05e0\u05d9 \u05e9\u05de\u05ea\u05d7\u05d9\u05dc\u05d9\u05dd, \u05d0\u05e6\u05d9\u05d9\u05df \u05e9\u05d9\u05db\u05d5\u05dc\u05ea \u05d6\u05d5:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u05e7\u05d9\u05d9\u05de\u05ea \u05d4\u05df \u05d1\u05e4\u05ea\u05e8\u05d5\u05df \u05d4\u05e2\u05e0\u05df \u05d4\u05e6\u05d9\u05d1\u05d5\u05e8\u05d9 (gitlab.com) \u05d5\u05d4\u05df \u05d1\u05e4\u05ea\u05e8\u05d5\u05e0\u05d5\u05ea Self-managed (\u05e9\u05d0\u05e4\u05e9\u05e8\u05d9\u05d9\u05dd \u05d2\u05dd \u05d1\u05d4\u05ea\u05e7\u05e0\u05d4 \u05de\u05e9\u05dc\u05db\u05dd \u05d5\u05d2\u05dd \u05d1\u05e9\u05d9\u05e8\u05d5\u05ea \u05de\u05e0\u05d5\u05d4\u05dc \u05e9\u05d0\u05e0\u05d5 \u05de\u05e6\u05d9\u05e2\u05d9\u05dd).<\/li>\n\n\n\n<li>\u05de\u05e6\u05e8\u05d9\u05db\u05d4 \u05e8\u05d9\u05e9\u05d5\u05d9 Premium \u05d0\u05d5 Ultimate (\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e7\u05d1\u05dc \u05de\u05d0\u05d9\u05ea\u05e0\u05d5 \u05e8\u05e9\u05d9\u05d5\u05df \u05d6\u05de\u05e0\u05d9 \u05dc\u05d4\u05ea\u05e0\u05e1\u05d5\u05ea)<\/li>\n\n\n\n<li>\u05d4\u05d9\u05db\u05d5\u05dc\u05ea \u05e2\u05d3\u05d9\u05d9\u05df \u05de\u05d5\u05d2\u05d3\u05e8\u05ea \u05db- &quot;Beta&quot; (\u05e6\u05e4\u05d9 \u05dc- GA \u05d1\u05e2\u05d5\u05d3 \u05db\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd).<\/li>\n<\/ul>\n\n\n\n<p>\u05d1\u05d4\u05d3\u05d2\u05de\u05d4 \u05e0\u05e9\u05ea\u05de\u05e9 \u05d1-<a href=\"https:\/\/docs.gitlab.com\/ee\/user\/workspace\" target=\"_blank\" rel=\"noreferrer noopener\">Web IDE<\/a> \u05d4\u05de\u05d5\u05e4\u05e2\u05dc \u05e2\u05dc \u05d9\u05d3\u05d9 \u05d2\u05e8\u05e1\u05ea \u05d4\u05d3\u05e4\u05d3\u05e4\u05df \u05e9\u05dc VS Code \u05e9\u05ea\u05d5\u05ea\u05e7\u05df \u05d1\u05d0\u05d5\u05e4\u05df \u05d0\u05d5\u05d8\u05d5\u05de\u05d8\u05d9 \u05d1\u05d6\u05de\u05df \u05d9\u05e6\u05d9\u05e8\u05ea \u05d4\u05e1\u05d1\u05d9\u05d1\u05d4. \u05d1\u05e2\u05ea\u05d9\u05d3 \u05d9\u05d4\u05d9\u05d4 \u05e0\u05d9\u05ea\u05df \u05dc\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05db\u05dc\u05d9 \u05e4\u05d9\u05ea\u05d5\u05d7 \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd.\u00a0<\/p>\n\n\n\n<p>\u05d1\u05de\u05d3\u05e8\u05d9\u05da \u05d4\u05d6\u05d4, \u05ea\u05dc\u05de\u05d3\u05d5 \u05d0\u05d9\u05da \u05dc\u05d9\u05e6\u05d5\u05e8 \u05e1\u05d1\u05d9\u05d1\u05ea \u05e2\u05d1\u05d5\u05d3\u05d4, \u05dc\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05d8\u05e8\u05de\u05d9\u05e0\u05dc \u05e9\u05dc \u05d4- Web IDE \u05dc\u05d4\u05ea\u05e7\u05e0\u05ea dependencies \u05d0\u05d5 \u05dc\u05d4\u05e4\u05e2\u05d9\u05dc \u05d0\u05ea \u05d4\u05e9\u05e8\u05ea \u05e9\u05de\u05e8\u05d9\u05e5 \u05d0\u05ea \u05d4\u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4 \u05e9\u05dc\u05db\u05dd, \u05d5\u05dc\u05e6\u05e4\u05d5\u05ea \u05d1\u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4 \u05e8\u05e6\u05d4 \u05d1\u05e1\u05d1\u05d9\u05d1\u05d4 \u05d4\u05de\u05e8\u05d5\u05d7\u05e7\u05ea.<br>\u05dc\u05de\u05d9\u05d3\u05e2 \u05e0\u05d5\u05e1\u05e3 \u05e2\u05dc \u05e4\u05d9\u05ea\u05d5\u05d7 \u05de\u05e8\u05d5\u05d7\u05e7 \u05d1-GitLab, \u05d0\u05e0\u05d7\u05e0\u05d5 \u05de\u05de\u05dc\u05d9\u05e6\u05d9\u05dd \u05dc\u05e7\u05e8\u05d5\u05d0 \u05d0\u05ea \u05d4\u05e4\u05d5\u05e1\u05d8 &quot;<a href=\"https:\/\/about.gitlab.com\/blog\/2023\/05\/23\/introducing-workspaces-beta\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u05de\u05d1\u05d8 \u05e8\u05d0\u05e9\u05d5\u05df \u05e2\u05dc \u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05d4\u05e2\u05d1\u05d5\u05d3\u05d4<\/a>&quot; \u05d5\u05d0\u05ea \u05d4- <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/workspace\/?_gl=1*1xjz2ff*_ga*MjE0NzE3NjEzMy4xNjUxNjA1NTA2*_ga_ENFH3X7M5Y*MTY4ODA0MTk0OC40MTQuMS4xNjg4MDQyMjY0LjAuMC4w\" target=\"_blank\" rel=\"noreferrer noopener\">Online documentation<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u05d3\u05e8\u05d9\u05e9\u05d5\u05ea \u05de\u05d5\u05e7\u05d3\u05de\u05d5\u05ea:<\/h3>\n\n\n\n<p>\u05db\u05d3\u05d9 \u05dc\u05d0\u05e4\u05e9\u05e8 \u05d0\u05ea \u05d4\u05d9\u05db\u05d5\u05dc\u05ea \u05dc\u05d9\u05e6\u05d5\u05e8 \u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05e4\u05d9\u05ea\u05d5\u05d7 \u05de\u05e8\u05d5\u05d7\u05e7\u05d5\u05ea \u05d9\u05e9\u05e0\u05df \u05de\u05e1\u05e4\u05e8 \u05d3\u05e8\u05d9\u05e9\u05d5\u05ea \u05de\u05d5\u05e7\u05d3\u05de\u05d5\u05ea, \u05db\u05d2\u05d5\u05df \u05d9\u05e6\u05d9\u05e8\u05ea cluster \u05e9\u05dc Kubernetes \u05d5\u05d0\u05d6 \u05d9\u05e9 \u05dc\u05d4\u05ea\u05e7\u05d9\u05df \u05d0\u05ea \u05d4 <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/clusters\/agent\/install\/index.html\" target=\"_blank\" rel=\"noreferrer noopener\">Agent for Kubernetes<\/a> \u05e2\u05dc \u05d4cluster. <br>\u05d1\u05e0\u05d5\u05e1\u05e3, \u05d9\u05e9 \u05dc\u05d4\u05e9\u05dc\u05d9\u05dd \u05de\u05e1\u05e4\u05e8 \u05d4\u05d2\u05d3\u05e8\u05d5\u05ea \u05e2\u05dc \u05d4- cluster. \u05d4\u05d5\u05e8\u05d0\u05d5\u05ea \u05de\u05e4\u05d5\u05e8\u05d8\u05d5\u05ea \u05dc\u05db\u05dc \u05d4\u05e6\u05e2\u05d3\u05d9\u05dd \u05d4\u05dc\u05dc\u05d5 <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/workspace\/?_gl=1*5jtsuq*_ga*MjE0NzE3NjEzMy4xNjUxNjA1NTA2*_ga_ENFH3X7M5Y*MTY4ODA0MTk0OC40MTQuMS4xNjg4MDQ0OTg3LjAuMC4w#prerequisites\" target=\"_blank\" rel=\"noreferrer noopener\">\u05d1\u05ea\u05d9\u05e2\u05d5\u05d3 \u05d4\u05d3\u05e8\u05d9\u05e9\u05d5\u05ea \u05d4\u05de\u05d5\u05e7\u05d3\u05de\u05d5\u05ea<\/a>. \u05dc\u05d0\u05d7\u05e8 \u05e9\u05d4\u05d3\u05e8\u05d9\u05e9\u05d5\u05ea \u05d4\u05d5\u05d2\u05d3\u05e8\u05d5 \u05d1\u05e6\u05d5\u05e8\u05d4 \u05ea\u05e7\u05d9\u05e0\u05d4, \u05de\u05e4\u05ea\u05d7\u05d9\u05dd \u05d1\u05e2\u05dc\u05d9 \u05d4\u05e8\u05e9\u05d0\u05d5\u05ea \u05e9\u05dc\u00a0 Developer \u05d5\u05de\u05e2\u05dc\u05d4 \u05d2\u05d1\u05d5\u05d4 \u05d9\u05d5\u05db\u05dc\u05d5 \u05dc\u05d9\u05e6\u05d5\u05e8 \u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05e2\u05d1\u05d5\u05d3\u05d4.<\/p>\n\n\n\n<p>\u05dc\u05de\u05e2\u05d5\u05e0\u05d9\u05d9\u05e0\u05d9\u05dd, \u05d0\u05e0\u05d5 \u05de\u05e6\u05d9\u05e2\u05d9\u05dd \u05ea\u05de\u05d9\u05db\u05d4 \u05d2\u05dd \u05dc- Kubernetes (\u05dc\u05e4\u05e8\u05d8\u05d9\u05dd \u05e4\u05e0\u05d5 \u05d0\u05dc\u05d9\u05e0\u05d5 \u05d1\u05de\u05d9\u05d9\u05dc k8s@almtoolbox.com ).<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">DevFile<\/h3>\n\n\n\n<p>\u05e7\u05d5\u05d1\u05e5 <a href=\"https:\/\/devfile.io\/docs\/2.2.0\/devfile-ecosystem\">devfile<\/a> \u05d4\u05d5\u05d0 \u05e7\u05d5\u05d1\u05e5 \u05d4\u05d2\u05d3\u05e8\u05d5\u05ea, \u05d1\u05e4\u05d5\u05e8\u05de\u05d8 YAML, \u05d4\u05de\u05e9\u05de\u05e9 \u05dc\u05d4\u05d2\u05d3\u05d9\u05e8 \u05d5\u05dc\u05ea\u05d0\u05e8 \u05d0\u05ea \u05e1\u05d1\u05d9\u05d1\u05ea \u05d4\u05e4\u05d9\u05ea\u05d5\u05d7 \u05e2\u05d1\u05d5\u05e8 \u05e4\u05e8\u05d5\u05d9\u05e7\u05d8 \u05ea\u05d5\u05db\u05e0\u05d4. \u05d4\u05d5\u05d0 \u05de\u05e1\u05e4\u05e7 \u05d3\u05e8\u05da \u05de\u05d5\u05e1\u05d3\u05e8\u05ea \u05dc\u05e6\u05d9\u05d9\u05df \u05d0\u05ea \u05d4\u05db\u05dc\u05d9\u05dd, \u05d4\u05e9\u05e4\u05d5\u05ea, \u05d4\u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05d4\u05ea\u05e4\u05e2\u05d5\u05dc\u05d9\u05d5\u05ea \u05d5\u05d4\u05e8\u05db\u05d9\u05d1\u05d9\u05dd \u05d4\u05e0\u05d3\u05e8\u05e9\u05d9\u05dd \u05dc\u05e4\u05d9\u05ea\u05d5\u05d7 \u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4.<br>\u05db\u05d3\u05d9 \u05dc\u05d0\u05e4\u05e9\u05e8 \u05d9\u05e6\u05d9\u05e8\u05ea \u05e1\u05d1\u05d9\u05d1\u05ea \u05e2\u05d1\u05d5\u05d3\u05d4 \u05de\u05e8\u05d5\u05d7\u05e7\u05ea, \u05d9\u05e9 \u05dc\u05d4\u05d5\u05e1\u05d9\u05e3 \u05d0\u05ea \u05d4 devfile \u05dc repository.&nbsp;<br>\u05d1\u05d3\u05d5\u05d2\u05de\u05d0 \u05e9\u05dc\u05d4\u05dc\u05df \u05e0\u05e9\u05ea\u05de\u05e9 \u05d1\u05e4\u05e8\u05d5\u05d9\u05e7\u05d8 \u05e9\u05de\u05db\u05d9\u05dc devfile, \u05d4\u05e0\u05d9\u05ea\u05df \u05dc\u05d2\u05d9\u05e9\u05d4 <a href=\"https:\/\/gitlab.com\/gitlab-de\/use-cases\/remote-development\/example-nodejs-express-app\/-\/raw\/main\/.devfile.yaml?_gl=1*1n50q7s*_ga*MjE0NzE3NjEzMy4xNjUxNjA1NTA2*_ga_ENFH3X7M5Y*MTY4ODA0MTk0OC40MTQuMS4xNjg4MDQ1Nzk3LjAuMC4w\">\u05db\u05d0\u05df<\/a>.<\/p>\n\n\n\n<pre class=\"wp-block-code has-background\" style=\"background-color:#eeeeee\"><code>schemaVersion: 2.2.0\ncomponents:\n  - name: tooling-container\n    attributes:\n      gl\/inject-editor: true\n    container:\n      # NOTE: THIS IMAGE EXISTS ONLY FOR DEMO PURPOSES AND WILL NOT BE MAINTAINED\n      image: registry.gitlab.com\/gitlab-org\/remote-development\/gitlab-remote-development-docs\/debian-bullseye-ruby-3.2-node-18.12:rubygems-3.4-git-2.33-lfs-2.9-yarn-1.22-graphicsmagick-1.3.36-gitlab-workspaces\n      memoryRequest: 1024M\n      memoryLimit: 2048M\n      cpuRequest: 500m\n      cpuLimit: 1000m\n      endpoints:\n      - name: http-3000\n        targetPort: 3000\n<\/code><\/pre>\n\n\n\n<p>\u05de\u05d9\u05d3\u05e2 \u05e0\u05d5\u05e1\u05e3 \u05e0\u05d9\u05ea\u05df \u05dc\u05de\u05e6\u05d5\u05d0 \u05d1\u05de\u05e1\u05de\u05db\u05d9 \u05d4\u05ea\u05d9\u05e2\u05d5\u05d3 \u05e9\u05dc <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/workspace\/?_gl=1*1b15p9u*_ga*MjE0NzE3NjEzMy4xNjUxNjA1NTA2*_ga_ENFH3X7M5Y*MTY4ODA0MTk0OC40MTQuMS4xNjg4MDQ1ODQ0LjAuMC4w#devfile\">\u05d2\u05d9\u05d8\u05dc\u05d0\u05d1<\/a> \u05d5\u05e9\u05dc <a href=\"https:\/\/devfile.io\/docs\/2.2.0\/devfile-schema\">devfile<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u05d9\u05e6\u05d9\u05e8\u05ea \u05d4\u05e1\u05d1\u05d9\u05d1\u05d4:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u05d5\u05d3\u05d0\u05d5 \u05e9\u05d9\u05e9 \u05dc\u05da \u05d4\u05e8\u05e9\u05d0\u05d5\u05ea \u05e9\u05dc developer \u05d5\u05de\u05e2\u05dc\u05d4, \u05d5\u05e9\u05db\u05dc <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/workspace\/?_gl=1*5jtsuq*_ga*MjE0NzE3NjEzMy4xNjUxNjA1NTA2*_ga_ENFH3X7M5Y*MTY4ODA0MTk0OC40MTQuMS4xNjg4MDQ0OTg3LjAuMC4w#prerequisites\">\u05d4\u05d3\u05e8\u05d9\u05e9\u05d5\u05ea \u05d4\u05de\u05d5\u05e7\u05d3\u05de\u05d5\u05ea<\/a> \u05d4\u05d5\u05d2\u05d3\u05e8\u05d5 \u05d1\u05e6\u05d5\u05e8\u05d4 \u05ea\u05e7\u05d9\u05e0\u05d4.&nbsp;<\/li>\n\n\n\n<li>\u05d4\u05e2\u05ea\u05d9\u05e7\u05d5 \u05d1\u05e2\u05d6\u05e8\u05ea <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/project\/repository\/forking_workflow.html\">fork<\/a> \u05d0\u05ea <a href=\"https:\/\/gitlab.com\/gitlab-de\/use-cases\/remote-development\/example-nodejs-express-app?_gl=1*szbbej*_ga*MjE0NzE3NjEzMy4xNjUxNjA1NTA2*_ga_ENFH3X7M5Y*MTY4ODI3NjgzNS40MTYuMS4xNjg4Mjc4MDI5LjAuMC4w\">\u05e4\u05e8\u05d5\u05d9\u05d9\u05e7\u05d8 \u05d4\u05d3\u05d5\u05d2\u05de\u05d0<\/a> \u05dc\u05ea\u05d5\u05da \u05d4- <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/group\/\">group<\/a> \u05e9\u05d1\u05d5 \u05d9\u05e9 \u05dc\u05db\u05dd \u05d4\u05e8\u05e9\u05d0\u05d5\u05ea \u05e9\u05dc Developer&nbsp; \u05d5\u05de\u05e2\u05dc\u05d4.&nbsp;<\/li>\n\n\n\n<li>\u05d4\u05d7\u05dc\u05e4\u05d5 \u05e7\u05d5\u05e0\u05d8\u05e7\u05e1\u05d8 \u05d5\u05d1\u05d7\u05e8\u05d5 <strong>Your Work.<\/strong><br><img loading=\"lazy\" decoding=\"async\" width=\"150\" height=\"179\" class=\"wp-image-9188\" style=\"width: 150px;\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/2023-07-10-your-work.png\" alt=\"\"><\/li>\n\n\n\n<li>\u05d1\u05d7\u05e8\u05d5 <strong>Workspaces<\/strong>, \u05d5\u05dc\u05d7\u05e6\u05d5 \u05e2\u05dc <strong>New workspace<\/strong> \u05d1\u05e6\u05d3 \u05d9\u05de\u05d9\u05df \u05dc\u05de\u05e2\u05dc\u05d4.&nbsp;<\/li>\n\n\n\n<li>\u05d1\u05d7\u05e8\u05d5 \u05d0\u05ea \u05d4\u05e4\u05e8\u05d5\u05d9\u05d9\u05e7\u05d8 \u05e9\u05d4\u05e2\u05ea\u05e7\u05ea\u05dd \u05d0\u05d5 \u05e4\u05e8\u05d5\u05d9\u05d9\u05e7\u05d8 \u05d0\u05d7\u05e8 \u05d1\u05e7\u05d1\u05d5\u05e6\u05d4 \u05d0\u05e9\u05e8 \u05de\u05db\u05d9\u05dc \u05d0\u05ea \u05e7\u05d5\u05d1\u05e5 \u05d4 .devfile.yaml&nbsp;<\/li>\n\n\n\n<li>\u05d1\u05d7\u05e8\u05d5 \u05d0\u05ea \u05d4 <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/workspace\/?_gl=1*8ksft7*_ga*MjE0NzE3NjEzMy4xNjUxNjA1NTA2*_ga_ENFH3X7M5Y*MTY4ODI3NjgzNS40MTYuMS4xNjg4Mjc4Nzk5LjAuMC4w#prerequisites\">cluster agent<\/a>&nbsp; \u05e9\u05e0\u05de\u05e6\u05d0 \u05d1\u05ea\u05d5\u05da \u05d4 group \u05e9\u05d1\u05d5 \u05e0\u05de\u05e6\u05d0 \u05d4\u05e4\u05e8\u05d5\u05d9\u05e7\u05d8.&nbsp;<\/li>\n\n\n\n<li>\u05d4\u05e1\u05d1\u05d9\u05d1\u05d4 \u05e0\u05d5\u05e6\u05e8\u05ea \u05d1\u05d0\u05d5\u05e4\u05df \u05d6\u05de\u05e0\u05d9 \u05db\u05d3\u05d9 \u05dc\u05de\u05e0\u05d5\u05e2 \u05de\u05e6\u05d1 \u05e9\u05d1\u05d5 \u05e1\u05d1\u05d9\u05d1\u05d4 \u05d5\u05de\u05e9\u05d0\u05d1\u05d9\u05dd \u05d9\u05e7\u05e8\u05d9\u05dd \u05d9\u05de\u05e9\u05d9\u05db\u05d5 \u05dc\u05e8\u05d5\u05e5 \u05d6\u05de\u05df \u05e8\u05d1, \u05dc\u05db\u05df \u05d4\u05d2\u05d3\u05e8 \u05d0\u05ea \u05de\u05e1\u05e4\u05e8 \u05d4\u05e9\u05e2\u05d5\u05ea \u05e2\u05d3 \u05dc\u05e2\u05e6\u05d9\u05e8\u05d4: <strong>Time before automatic termination.<\/strong><\/li>\n\n\n\n<li>\u05dc\u05d7\u05e6\u05d5 \u05e2\u05dc <strong>Create Workspace<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/create_workspace-1024x247.webp\" alt=\"\" class=\"wp-image-9190\" width=\"840\" height=\"202\" srcset=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/create_workspace-1024x247.webp 1024w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/create_workspace-300x72.webp 300w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/create_workspace-768x185.webp 768w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/create_workspace-1536x370.webp 1536w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/create_workspace.webp 1586w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/><\/figure>\n\n\n\n<p>\u05e1\u05d1\u05d9\u05d1\u05ea \u05d4\u05e2\u05d1\u05d5\u05d3\u05d4 \u05d1\u05e9\u05dc\u05d1 \u05d6\u05d4 \u05e0\u05d5\u05e6\u05e8\u05ea, \u05d5\u05d1\u05ea\u05d5\u05da \u05d6\u05de\u05df \u05e7\u05e6\u05e8 \u05de\u05d5\u05e4\u05d9\u05e2 \u05e7\u05d9\u05e9\u05d5\u05e8 \u05dc\u05e1\u05d1\u05d9\u05d1\u05d4. \u05d1\u05e8\u05d2\u05e2 \u05e9\u05d4\u05e7\u05d9\u05e9\u05d5\u05e8 \u05e0\u05d5\u05e6\u05e8, \u05d4\u05db\u05dc \u05de\u05d5\u05db\u05df, \u05d0\u05ea\u05dd \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05d4\u05ea\u05d7\u05d9\u05dc \u05dc\u05e2\u05d1\u05d5\u05d3 \u05d1\u05e1\u05d1\u05d9\u05d1\u05d4 \u05d4\u05de\u05e8\u05d5\u05d7\u05e7\u05ea.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"144\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/workspaces_list-1024x144.webp\" alt=\"\" class=\"wp-image-9191\" srcset=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/workspaces_list-1024x144.webp 1024w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/workspaces_list-300x42.webp 300w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/workspaces_list-768x108.webp 768w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/workspaces_list.webp 1496w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u05e9\u05d9\u05de\u05d5\u05e9 \u05d1\u05d8\u05e8\u05de\u05d9\u05e0\u05dc \u05dc\u05d4\u05ea\u05e7\u05e0\u05ea Dependencies, \u05d4\u05e4\u05e2\u05dc\u05ea \u05d4\u05e9\u05e8\u05ea \u05d5\u05e4\u05ea\u05d9\u05d7\u05ea \u05d4\u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4<\/h3>\n\n\n\n<p>\u05dc\u05d0\u05d7\u05e8 \u05d9\u05e6\u05d9\u05e8\u05ea \u05e1\u05d1\u05d9\u05d1\u05ea \u05d4\u05e2\u05d1\u05d5\u05d3\u05d4, \u05d4 <a href=\"https:\/\/docs.gitlab.com\/ee\/user\/workspace\/?_gl=1*6vxln8*_ga*MjE0NzE3NjEzMy4xNjUxNjA1NTA2*_ga_ENFH3X7M5Y*MTY4ODI3NjgzNS40MTYuMS4xNjg4MjgwNTY5LjAuMC4w#web-ide\">Web IDE<\/a> \u05de\u05d5\u05ea\u05e7\u05df \u05d1\u05e1\u05d1\u05d9\u05d1\u05d4 \u05d1\u05d0\u05d5\u05e4\u05df \u05d0\u05d5\u05d8\u05d5\u05de\u05d8\u05d9, \u05d5\u05d4\u05e7\u05d5\u05d3 \u05de\u05d5\u05e2\u05ea\u05e7 \u05db\u05da \u05e9\u05d0\u05ea\u05dd \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05d1\u05e6\u05e2 \u05e9\u05d9\u05e0\u05d5\u05d9\u05d9\u05dd \u05d1\u05e7\u05d5\u05d3 \u05d1\u05d0\u05d5\u05e4\u05df \u05de\u05d9\u05d9\u05d3\u05d9.&nbsp;<\/p>\n\n\n\n<p>\u05d4 terminal \u05e9\u05d1\u05ea\u05d5\u05da \u05d4 Web IDE \u05de\u05d0\u05e4\u05e9\u05e8 \u05d4\u05ea\u05e7\u05e0\u05ea dependencies, \u05d2\u05d9\u05e9\u05d4 \u05dc\u05dc\u05d5\u05d2\u05d9\u05dd, \u05d5\u05db\u05d3\u05d5\u05de\u05d4.<\/p>\n\n\n\n<p>\u05de\u05d4\u05ea\u05e4\u05e8\u05d9\u05d8 \u05d4\u05e9\u05de\u05d0\u05dc\u05d9, \u05d1\u05d7\u05e8\u05d5 <strong>Terminal<\/strong> \u05d5\u05d0\u05d6&nbsp; <strong>New Terminal<\/strong>.&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"758\" height=\"396\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/ws-terminal.webp\" alt=\"\" class=\"wp-image-9193\" srcset=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/ws-terminal.webp 758w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/ws-terminal-300x157.webp 300w\" sizes=\"auto, (max-width: 758px) 100vw, 758px\" \/><\/figure>\n\n\n\n<p>2. \u05d4\u05e7\u05dc\u05d3\u05d5 <strong>npm install<\/strong> \u05e2\u05dc \u05de\u05e0\u05ea \u05dc\u05d4\u05ea\u05e7\u05d9\u05df \u05d0\u05ea \u05d4 dependencies \u05e9\u05e0\u05de\u05e6\u05d0\u05d9\u05dd \u05d1\u05e7\u05d5\u05d1\u05e5 <strong>package.json.&nbsp;<\/strong><br>3. \u05d4\u05e7\u05dc\u05d3\u05d5 <strong>npm start<\/strong>&nbsp; \u05dc\u05d4\u05e4\u05e2\u05d9\u05dc \u05d0\u05ea \u05d4\u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"544\" height=\"250\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/server_log.webp\" alt=\"\" class=\"wp-image-9194\" srcset=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/server_log.webp 544w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/server_log-300x138.webp 300w\" sizes=\"auto, (max-width: 544px) 100vw, 544px\" \/><\/figure>\n\n\n\n<p>4. \u05d4\u05dc\u05d5\u05d2 \u05de\u05e8\u05d0\u05d4 \u05e9\u05d4\u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4 \u05d4\u05d5\u05e4\u05e2\u05dc\u05d4 \u05d1 Port 3000.<br>5. \u05db\u05e2\u05ea \u05e0\u05d9\u05ea\u05df \u05dc\u05e4\u05ea\u05d5\u05d7 \u05d0\u05ea \u05d4\u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4 \u05d1\u05d3\u05e4\u05d3\u05e4\u05df, \u05e2\u05f4\u05d9 \u05e4\u05ea\u05d9\u05d7\u05ea \u05d4\u05e7\u05d9\u05e9\u05d5\u05e8 \u05e9\u05dc \u05d4\u05e1\u05d1\u05d9\u05d1\u05d4. \u05d9\u05e9 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05d4\u05e4\u05d5\u05e8\u05d8 \u05dc 3000.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u05e9\u05d9\u05e0\u05d5\u05d9 \u05d4\u05e7\u05d5\u05d3 \u05d5\u05d1\u05d3\u05d9\u05e7\u05d4 \u05de\u05d9\u05d9\u05d3\u05d9\u05ea \u05e9\u05dc \u05d4\u05e9\u05d9\u05e0\u05d5\u05d9<\/h3>\n\n\n\n<p>\u05d1- Web IDE , \u05e4\u05ea\u05d7\u05d5 \u05d0\u05ea \u05d4\u05e7\u05d5\u05d1\u05e5 <strong>server.js<\/strong>, \u05d5\u05ea\u05e9\u05e0\u05d5 \u05d0\u05ea \u05d4\u05d8\u05e7\u05e1\u05d8 \u05d1\u05e9\u05d5\u05e8\u05d4 9 \u05dc\u05de\u05e9\u05d4\u05d5 \u05d0\u05d7\u05e8. \u05dc\u05d0\u05d7\u05e8 \u05de\u05db\u05df, \u05e4\u05ea\u05d7\u05d5 \u05de\u05d7\u05d3\u05e9 \u05d0\u05ea \u05d4\u05d0\u05e4\u05dc\u05d9\u05e7\u05e6\u05d9\u05d4 \u05d1\u05d3\u05e4\u05d3\u05e4\u05df \u05d5\u05e8\u05d0\u05d5 \u05d0\u05ea \u05d4\u05e9\u05d9\u05e0\u05d5\u05d9 \u05e9\u05d1\u05d9\u05e6\u05e2\u05ea\u05dd.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u05e9\u05de\u05d9\u05e8\u05ea \u05d4\u05e9\u05d9\u05e0\u05d5\u05d9&nbsp; (Commit)&nbsp;<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u05d1\u05ea\u05d5\u05da \u05d4&nbsp; Web IDE \u05dc\u05d7\u05e6\u05d5 \u05e2\u05dc \u05d4\u05e1\u05de\u05dc \u05e9\u05dc \u05de\u05d9\u05d6\u05d5\u05d2.<\/li>\n\n\n\n<li>\u05dc\u05d7\u05e6\u05d5 \u05e2\u05dc \u05d4\u05e9\u05d5\u05e8\u05d4 \u05e9\u05db\u05ea\u05d5\u05d1 \u05d1\u05d4 <strong>server.js<\/strong> \u05db\u05d3\u05d9 \u05dc\u05d4\u05e6\u05d9\u05d2 \u05d0\u05ea \u05d4\u05e9\u05d9\u05e0\u05d5\u05d9\u05d9\u05dd \u05d1\u05e7\u05d5\u05d3.&nbsp;<\/li>\n\n\n\n<li>\u05dc\u05d7\u05e6\u05d5 \u05e2\u05dc \u05d4\u05e1\u05de\u05dc \u05e9\u05dc <strong>plus<\/strong> \u05e2\u05dc \u05de\u05e0\u05ea \u05dc\u05e9\u05de\u05d5\u05e8 \u05d0\u05ea \u05d4\u05e9\u05d9\u05e0\u05d5\u05d9 (stage).&nbsp;<\/li>\n\n\n\n<li>&nbsp;\u05db\u05ea\u05d1\u05d5 \u05d4\u05d5\u05d3\u05e2\u05d4 \u05d4\u05de\u05ea\u05d0\u05e8\u05ea \u05d0\u05ea \u05d4\u05e9\u05d9\u05e0\u05d5\u05d9 (commit message).&nbsp;<\/li>\n\n\n\n<li>\u05dc\u05d7\u05e6\u05d5 \u05e2\u05dc \u05db\u05e4\u05ea\u05d5\u05e8 <strong>Commit<\/strong>.&nbsp;<\/li>\n\n\n\n<li>\u05dc\u05d7\u05e6\u05d5 \u05e2\u05dc <strong>Sync changes<\/strong> \u05e2\u05dc \u05de\u05e0\u05ea \u05dc\u05d4\u05e2\u05ea\u05d9\u05e7 \u05d0\u05ea \u05d4\u05e9\u05d9\u05e0\u05d5\u05d9 \u05dc\u05e9\u05e8\u05ea \u05d2\u05d9\u05d8\u05dc\u05d0\u05d1(push).&nbsp;<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"718\" height=\"438\" src=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/commit-stage.webp\" alt=\"\" class=\"wp-image-9195\" srcset=\"https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/commit-stage.webp 718w, https:\/\/www.almtoolbox.com\/blog_he\/wp-content\/uploads\/2023\/07\/commit-stage-300x183.webp 300w\" sizes=\"auto, (max-width: 718px) 100vw, 718px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u05d4\u05d3\u05d2\u05de\u05d4<\/strong><\/h3>\n\n\n\n<p>\u05dc\u05e7\u05d1\u05dc\u05ea \u05d4\u05d3\u05d2\u05de\u05d4 \u05de\u05dc\u05d0\u05d4 \u05d1\u05d5\u05d9\u05d3\u05d0\u05d5 \u05e9\u05dc \u05db\u05dc \u05d4\u05ea\u05d4\u05dc\u05d9\u05da \u05d0\u05d5 \u05e8\u05e9\u05d9\u05d5\u05df \u05d6\u05de\u05e0\u05d9 \u05e2&quot;\u05de \u05dc\u05d4\u05ea\u05e0\u05e1\u05d5\u05ea \u05d1- Remote Development Workspaces, <br>\u05e4\u05e0\u05d5 \u05d0\u05dc\u05d9\u05e0\u05d5 \u05d1\u05de\u05d9\u05d9\u05dc gitlab@almtoolbox.com .&nbsp;<\/p>\n\n\n\n<p>\u05e0\u05d9\u05ea\u05df \u05d2\u05dd \u05dc\u05e6\u05e4\u05d5\u05ea \u05d1\u05d3\u05de\u05d5 \u05e7\u05e6\u05e8\u05e6\u05e8 \u05dc\u05dc\u05d0 \u05e7\u05d5\u05dc:<\/p>\n\n\n\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/yjweL075Cdo\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen=\"\"><\/iframe>\n<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u05dc\u05e1\u05d9\u05db\u05d5\u05dd: \u05e0\u05d5\u05d7\u05d5\u05ea, \u05d9\u05e2\u05d9\u05dc\u05d5\u05ea \u05d5\u05d0\u05d1\u05d8\u05d7\u05ea \u05de\u05d9\u05d3\u05e2.<\/h3>\n\n\n\n<p>\u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05e2\u05d1\u05d5\u05d3\u05d4 \u05e9\u05dc \u05e4\u05d9\u05ea\u05d5\u05d7 \u05de\u05e8\u05d7\u05d5\u05e7 \u05de\u05e6\u05d9\u05e2\u05d5\u05ea \u05d3\u05e8\u05da \u05e0\u05d5\u05d7\u05d4 \u05d5\u05d9\u05e2\u05d9\u05dc\u05d4 \u05dc\u05e2\u05d1\u05d5\u05d3 \u05e2\u05dc \u05e4\u05e8\u05d5\u05d9\u05e7\u05d8\u05d9\u05dd \u05dc\u05dc\u05d0 \u05e6\u05d5\u05e8\u05da \u05d1\u05d4\u05d2\u05d3\u05e8\u05d5\u05ea \u05e4\u05d9\u05ea\u05d5\u05d7 \u05de\u05e7\u05d5\u05de\u05d9\u05d5\u05ea. \u05d4\u05dd \u05de\u05d2\u05d1\u05d9\u05e8\u05d5\u05ea \u05d0\u05ea \u05d4\u05d9\u05e2\u05d9\u05dc\u05d5\u05ea \u05e9\u05dc \u05e6\u05d5\u05d5\u05ea\u05d9 \u05d4\u05e4\u05d9\u05ea\u05d5\u05d7 \u05d5\u05de\u05d0\u05e4\u05e9\u05e8\u05d5\u05ea \u05dc\u05de\u05e4\u05ea\u05d7\u05d9\u05dd \u05dc\u05d4\u05ea\u05de\u05e7\u05d3 \u05d1\u05db\u05ea\u05d9\u05d1\u05ea \u05e7\u05d5\u05d3 \u05d1\u05de\u05e7\u05d5\u05dd \u05dc\u05d4\u05ea\u05de\u05d5\u05d3\u05d3 \u05e2\u05dd \u05d4\u05d2\u05d3\u05e8\u05d5\u05ea \u05e1\u05d1\u05d9\u05d1\u05d4 \u05de\u05d5\u05e8\u05db\u05d1\u05d5\u05ea.<\/p>\n\n\n\n<p>\u05e2\u05dc \u05d9\u05d3\u05d9 \u05d0\u05d9\u05de\u05d5\u05e5 \u05e1\u05d1\u05d9\u05d1\u05d5\u05ea \u05e2\u05d1\u05d5\u05d3\u05d4 \u05de\u05e8\u05d5\u05d7\u05e7\u05d5\u05ea, \u05de\u05e4\u05ea\u05d7\u05d9\u05dd \u05d9\u05db\u05d5\u05dc\u05d9\u05dd \u05dc\u05e9\u05ea\u05e3 \u05e4\u05e2\u05d5\u05dc\u05d4 \u05d1\u05d9\u05e2\u05d9\u05dc\u05d5\u05ea, \u05dc\u05e9\u05e4\u05e8 \u05d0\u05ea \u05d4\u05e4\u05e8\u05d5\u05d3\u05d5\u05e7\u05d8\u05d9\u05d1\u05d9\u05d5\u05ea \u05d5\u05dc\u05e4\u05e9\u05d8 \u05d0\u05ea \u05ea\u05d4\u05dc\u05d9\u05da \u05d4\u05e4\u05d9\u05ea\u05d5\u05d7. \u05dc\u05e7\u05d1\u05dc\u05ea \u05e8\u05e9\u05d9\u05d5\u05df \u05d6\u05de\u05e0\u05d9 \u05dc\u05d4\u05ea\u05e0\u05e1\u05d5\u05ea \u05e4\u05e0\u05d5 \u05d0\u05dc\u05d9\u05e0\u05d5.<\/p>\n\n\n\n<div class=\"alm-box\">\n<h4>\n\u05d7\u05d1\u05e8\u05ea ALM-Toolbox \u05de\u05e1\u05e4\u05e7\u05ea \u05de\u05d2\u05d5\u05d5\u05df \u05e4\u05ea\u05e8\u05d5\u05e0\u05d5\u05ea \u05e8\u05d7\u05d1 \u05dc- GitLab (\u05d5\u05db\u05dc\u05d9\u05dd \u05e0\u05d5\u05e1\u05e4\u05d9\u05dd), \u05d4\u05db\u05d5\u05dc\u05dc\u05d9\u05dd \n\u05d9\u05e2\u05d5\u05e5, \u05ea\u05de\u05d9\u05db\u05d4 \u05d0\u05d9\u05db\u05d5\u05ea\u05d9\u05ea, \u05e4\u05d9\u05ea\u05d5\u05d7 \u05d0\u05d9\u05e0\u05d8\u05d2\u05e8\u05e6\u05d9\u05d5\u05ea \u05de\u05e9\u05dc\u05d9\u05de\u05d5\u05ea, \u05de\u05db\u05d9\u05e8\u05ea \u05e8\u05d9\u05e9\u05d5\u05d9, \u05e9\u05d9\u05e8\u05d5\u05ea\u05d9\u05dd \u05de\u05e0\u05d5\u05d4\u05dc\u05d9\u05dd (managed services), \u05e2\u05e0\u05df \u05e4\u05e8\u05d8\u05d9, \u05d4\u05d3\u05e8\u05db\u05d5\u05ea \u05d5\u05e2\u05d5\u05d3.\n<br>\n<em class=\"\">\u05dc\u05de\u05d9\u05d3\u05e2 \u05e0\u05d5\u05e1\u05e3 \u05e6\u05e8\u05d5 \u05d0\u05d9\u05ea\u05e0\u05d5 \u05e7\u05e9\u05e8: <a href=\"mailto:gitlab@almtoolbox.com\" style=\"opacity: 1;\">gitlab@almtoolbox.com<\/a> \u05d0\u05d5 \u05d8\u05dc\u05e4\u05d5\u05e0\u05d9\u05ea: 072-240-5222<\/em><\/h4>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\u05e7\u05d9\u05e9\u05d5\u05e8\u05d9\u05dd \u05e8\u05dc\u05d5\u05d5\u05e0\u05d8\u05d9\u05dd:<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.almtoolbox.com\/blog\/whats-new-in-gitlab-16\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u05de\u05d4 \u05d7\u05d3\u05e9 \u05d1\u05de\u05d4\u05d3\u05d5\u05e8\u05d4 16 \u05e9\u05dc GitLab<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.almtoolbox.com\/il\/gitlab\" target=\"_blank\" rel=\"noreferrer noopener\">\u05d0\u05ea\u05e8 GitLab \u05d9\u05e9\u05e8\u05d0\u05dc<\/a> (\u05e2\u05d1\u05e8\u05d9\u05ea)<\/li>\n\n\n\n<li>\u05d4\u05de\u05d0\u05de\u05e8 \u05de\u05ea\u05d1\u05e1\u05e1 \u05d1\u05d7\u05dc\u05e7\u05d5 \u05e2\u05dc \u05de\u05d0\u05de\u05e8 \u05d3\u05d5\u05de\u05d4 \u05e9\u05e4\u05d5\u05e8\u05e1\u05dd \u05d1\u05d1\u05dc\u05d5\u05d2 \u05e9\u05dc GitLab \u05d1\u05d0\u05e0\u05d2\u05dc\u05d9\u05ea &#8211; \u05d4\u05e7\u05d9\u05e9\u05d5\u05e8 <a href=\"https:\/\/about.gitlab.com\/blog\/2023\/06\/26\/quick-start-guide-for-gitlab-workspaces\/\" target=\"_blank\" rel=\"noreferrer noopener\">\u05db\u05d0\u05df<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u05de\u05d3\u05e8\u05d9\u05da \u05d8\u05db\u05e0\u05d9 \u05e2\u05dc GitLab Remote Development Workspaces<\/p>\n","protected":false},"author":5,"featured_media":9223,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[111],"tags":[767,768,765,764,766],"class_list":["post-9183","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gitlab","tag-codespaces","tag-gitpod","tag-ide","tag-remote-development-workspaces","tag-webide"],"_links":{"self":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/9183","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/comments?post=9183"}],"version-history":[{"count":27,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/9183\/revisions"}],"predecessor-version":[{"id":9234,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/posts\/9183\/revisions\/9234"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/media\/9223"}],"wp:attachment":[{"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/media?parent=9183"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/categories?post=9183"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.almtoolbox.com\/blog_he\/wp-json\/wp\/v2\/tags?post=9183"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}