با حرکت ابزارهای گسترش دهنده به سمت cloud ، ایجاد و تطابق پذیری پلتفرم cloud IDE (محیط پیشرفت ادغام شده) در حال رشد است. Cloud IDE ها امکان همکاری زمان واقعی (real-time) بین تیم های توسعه دهنده را فراهم می کنند تا در یک محیط توسعه یکپارچه کار کنند و ناسازگاری ها را به حداقل می رساند اما تولید را افزایش میدهد. چون از طریق مرورگرهای وب قابل دسترسی اند ، Cloud IDE ها در هر نوع دستگاه مدرن موجود هستند.
code-server یک کد مایکروسافت ویژوال استودیو است که روی یک
در این آموزش ، پلتفرم cloud IDE کد
پیش نیازها
⦁
⦁ Nginx که روی
⦁ یک نام دامنه کاملا ثبت شده برای میزبانی کد
مرحله 1 - نصب کد-
در این بخش کد-
همه داده های مربوط به کد-
⦁ $ mkdir ~/code-server
به آن پوشه بروید:
⦁ $ cd ~/code-server
⦁
باید به صفحه نسخه های کد-
⦁ $ curl -LO https://github.com/cdr/code-server/releases/download/3.2.0/code-server-3.2.0-linux-x86_64.tar.gz
سپس با اجرای این دستور، آرشیو را باز کنید:
⦁ $ tar -xzvf code-server-3.2.0-linux-x86_64.tar.gz
⦁
پوشه ای دقیقاً به نام فایل اصلی که دانلود کرده اید ، دریافت میکنید که شامل کد منبع کد-
⦁ $ sudo cp -r code-server-3.2.0-linux-x86_64 /usr/lib/code-server
⦁
سپس ، یک لینک نمادین را در / usr / bin / code-server ایجاد کنید ، که به عملکرد کد-
⦁ $ sudo ln -s /usr/lib/code-server/code-server /usr/bin/code-server
⦁
در مرحله بعد ، یک پوشه برای کد-
⦁ $ sudo mkdir /var/lib/code-server
⦁
اکنون که کد-
پیکربندی سرویس را در فایلی به نام code-server.service ، در دیرکتوریuser / lib / systemd / system ذخیره خواهید کرد ، جایی که سیستم عامل سرویس های خود را ذخیره می کند. آن را با استفاده از ویرایشگر متن خود ایجاد کنید:
⦁ $ sudo nano /lib/systemd/system/code-server.service
⦁
خطوط زیر را اضافه کنید:
/lib/systemd/system/code-server.service
[Unit]
Description=code-server
After=nginx.service
[Service]
Type=simple
Environment=PASSWORD=your_password
ExecStart=/usr/bin/code-server -bind-addr 127.0.0.1:8080 -user-data-dir /var/lib/code-server -auth password
Restart=always
[Install]
WantedBy=multi-user.target
در اینجا ابتدا شرح سرویس را مشخص می کنید. سپس ، اعلام می کنید که سرویس nginx قبل از این باید شروع شود. بعد از بخش [Unit] نوع سرویس را تعریف می کنید (simple بدان معنی است که فرایند باید به سادگی اجرا شود) و فرمانی را که اجرا می شود ارائه می دهد.
همچنین مشخص می کنید که اجرای کد-
به یاد داشته باشید که your_password را با رمز عبور دلخواه خود جایگزین کنید ، سپس فایل را ذخیره کنید و ببندید.
خط بعدی به systemd می گوید تا کد-
با اجرای دستور زیر سرویس کد-
⦁ $ sudo systemctl start code-server
⦁
با مشاهده وضعیت آن بررسی کنید که درست شروع شده است:
⦁ $ sudo systemctl status code-server
⦁
خروجی مشابه این مشاهده خواهید کرد:
Output
● code-server.service - code-server
Loaded: loaded (/usr/lib/systemd/system/code-server.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2020-05-13 19:57:27 UTC; 5s ago
Main PID: 10608 (node)
CGroup: /system.slice/code-server.service
├─10608 /usr/lib/code-server/node /usr/lib/code-server/out/node/entry.js -bind-addr 127.0.0.1:8080 -user-data-dir /var/lib/code-server -auth.
└─10622 /usr/lib/code-server/node /usr/lib/code-server/out/node/entry.js -bind-addr 127.0.0.1:8080 -user-data-dir /var/lib/code-server -auth.
May 13 19:57:27 code-server-update-centos systemd[1]: Started code-server.
May 13 19:57:27 code-server-update-centos code-server[10608]: info code-server 3.2.0 fd36a99a4c78669970ebc4eb05768293b657716f
May 13 19:57:27 code-server-update-centos code-server[10608]: info HTTP server listening on http://127.0.0.1:8080
May 13 19:57:27 code-server-update-centos code-server[10608]: info - Using custom password for authentication
May 13 19:57:27 code-server-update-centos code-server[10608]: info - Not serving HTTPS
May 13 19:57:27 code-server-update-centos code-server[10608]: info Automatic updates are enabled
برای شروع خودکار کد-
⦁ $ sudo systemctl enable code-server
⦁
در این مرحله ، کد-
مرحله 2 - قرار دادن کد-
در این بخش ، Nginx را به عنوان یک پروکسی مع برای کد-
همانطور که در مرحله پیش نیاز Nginx آموخته اید ، فایل های پیکربندی سایت آن تحت /etc/nginx/conf.d ذخیره می شوند و بعداً باید با فعال شدن Nginx ، به صورت خودکار لود میشوند.
پیکربندی را برای قرار دادن کد-
⦁ $ sudo vi /etc/nginx/conf.d/code-server.conf
⦁
خطوط زیر را اضافه کنید:
/etc/nginx/conf.d/code-server.conf
server {
listen 80;
listen [::]:80;
server_name code-server.your-domain;
location / {
proxy_pass http://localhost:8080/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
}
code-server.your-domain را با دامنه مورد نظر خود جایگزین کنید ، سپس فایل را ذخیره کنید و ببندید.
در این فایل ، تعریف می کنید که Nginx باید به پورت HTTP 80 گوش کند. سپس ، یک server_name را تعیین می کنید که به Nginx می گوید برای کدام دامنه درخواست ها را بپذیرد و این پیکربندی خاص را اعمال کند.
در بلوک بعدی ، برای مکان ریشه (/) ، مشخص می کنید که درخواست ها باید به کد-
برای آزمایش اعتبار پیکربندی ، دستور زیر را اجرا کنید:
⦁ $ sudo nginx -t
⦁
خروجی زیر را مشاهده خواهید کرد:
Output
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
برای اینکه پیکربندی عملی شود ، باید Nginx را مجدداً راه اندازی کنید:
⦁ $ sudo systemctl restart nginx
⦁
CentOS 7 مجهز به SELinux است ، با یک آیین نامه سختگیرانه ، که به طور پیش فرض اجازه اتصال Nginx به سوکت های محلی TCP را نمی دهد. Nginx برای خدمت به عنوان یک پروکسی مع برای
$ sudo setsebool httpd_can_network_connect 1 -P
سپس در مرورگر خود به دامنه مورد استفاده برای
اکنون نصب
مرحله 3 - امنیت بخشیدن به دامنه
در این بخش دامنه خود را با استفاده از گواهی نامه Letrsquo;s Encrypt TLS که با استفاده از Certbot تهیه می نمایید، ایمن می کنید.
برای نصب آخرین نسخه Certbot ، دستور زیر را اجرا کنید:
⦁ $ sudo yum install certbot python2-certbot-nginx -y
⦁
برای درخواست گواهی نامه برای دامنه خود ، دستور زیر را اجرا کنید:
⦁ $ sudo certbot -nginx -d code-server.your-domain
⦁
در این دستور ، شما certbot را برای درخواست گواهینامه ها برای دامنه خود اجرا می کنید - نام دامنه را با پارامتر -d وارد میکنید. پرچم -nginx به آن می گوید برای پشتیبانی از HTTPS ، پیکربندی سایت Nginx را به طور خودکار تغییر دهید. به یاد داشته باشید که دامنه code-server.your خود را با نام دامنه خود جایگزین کنید.
اگر اولین بار است که Certbot را اجرا می کنید ، از شما خواسته می شود که یک آدرس ایمیل برای اخطارهای ضروری وارد کنید و شرایط خدمات EFF را بپذیرید. سپس Certbot درخواست Letrsquo;s Encrypt برای گواهی دامنه شما را میدهد. سپس از شما سؤال می کند که آیا مایلید همه ترافیک HTTP را به HTTPS هدایت کنید:
Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if yoursquo;re confident your site works on HTTPS. You can undo this
change by editing your web serverrsquo;s configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press lsquo;crsquo; to cancel):
توصیه می شود برای به حداکثر رساندن امنیت گزینه دوم را انتخاب کنید. پس از وارد کردن انتخاب خود ، ENTER را فشار دهید.
خروجی مشابه این خواهد بود:
Output
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/code-server.your-domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/code-server.your-domain/privkey.pem
Your cert will expire on . To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the ldquo;certonlyrdquo; option. To non-interactively renew *all* of
your certificates, run ldquo;certbot renewrdquo;
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Letrsquo;s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
این بدان معنی است که Certbot موفق به تولید گواهینامه های TLS شده و آنها را در پیکربندی Nginx برای دامنه شما به کار می برد. اکنون می توانید دامنه کد
اکنون شما Certbot را روی تمدید خودکار گواهینامه ها قبل از منقضی شدن تنظیم می کنید. برای اجرای بررسی تمدید به صورت روزانه ، از cron ، یک سرویس سیستمی استاندارد برای انجام کارهای دوره ای استفاده خواهید کرد. با باز کردن و ویرایش فایلی به نام crontab ، corn را هدایت می کنید:
$ sudo crontab -e
این دستور crontab پیش فرض را که در حال حاضر یک فایل متنی خالی است ، باز می کند. خط زیر را اضافه کنید ، سپس آن را ذخیره کرده و ببندید:
crontab
. . .
15 3 * * * /usr/bin/certbot renew -quiet
15 3 * * * دستور زیر را هر روز ساعت 3:15 صبح اجرا می کند - می توانید این کار را روی هر زمان تطبیق دهید.
دستور تمدید برای Certbot تمام گواهینامه های نصب شده روی سیستم را بررسی کرده و مواردی را که در کمتر از سی روز به پایان رسیده اند ، به روز می کند. -quiet به Certbot می گوید که اطلاعات را به خروجی نفرستد یا منتظر ورود کاربر باشد.
cron اکنون این دستور را روزانه اجرا می کند. تمام گواهینامه های نصب شده هنگامی که سی روز یا کمتر از انقضای انها باقی مانده باشد به طور خودکار تمدید و مجدد لود می شوند.
اکنون که کد-
مرحله 4 - استفاده از رابط کد-
در این بخش از برخی از ویژگی های رابط کد-
در سمت چپ IDE ، یک ردیف عمودی از شش دکمه وجود دارد که بیشترین ویژگی های مورد استفاده را در یک صفحه جانبی که با عنوان Activity Bar شناخته می شود باز می کند.
این نوار قابل تنظیم است بنابراین می توانید این نماها را به ترتیب دیگری جابجا کنید یا آنها را از نوار حذف کنید. به طور پیش فرض ، اولین دکمه منوی کلی را به صورت کشویی باز می کند ، در حالی که نمای دوم پنل اکسپلورر را باز می کند که پیمایش درخت مانند از ساختار پروژه را فراهم می کند. می توانید پوشه ها و فایل های خود را در اینجا مدیریت کنید - ایجاد ، حذف ، جابجایی و تغییر نام آنها در صورت وم. نمای بعدی دسترسی به عملکرد جستجو و جایگزینی را فراهم می کند
به دنبال این ، به ترتیب پیش فرض ، نمای شما از سیستم های کنترل منبع مانند Git قرار میگیرد. کد ویژوال استودیو همچنین از سایر ارائه دهندگان کنترل منبع پشتیبانی می کند و می توانید در این مستندات دستورالعمل های بیشتری را برای جریان کاری کنترل منبع با ویرایشگر بیابید.
گزینه اشکال زدایی در نوار فعالیت ، کلیه اقدامات معمول را برای اشکال زدایی در پنل ارائه می دهد. ویژوال استودیو کد با پشتیبانی داخلی برای اشکال زدایی زمان اجرای Node.js و هر زبانی که به Javascript تبدیل شود همراه است. برای سایر زبانها می توانید افزونه هایی را برای اشکال زدایی مورد نیاز نصب کنید. می توانید پیکربندی های اشکال زدایی را در فایل launch.jsonذخیره کنید.
نمای نهایی در نوار فعالیت ، منویی را برای دسترسی به افزونه های موجود در Marketplace فراهم می کند.
قسمت اصلی GUI ویرایشگر شماست که می توانید آن ها را با استفاده از زبانه ها برای ویرایش کد خود جدا کنید. می توانید نمای ویرایش خود را به یک سیستم شبکه یا به فایل های جانبی تغییر دهید.
پس از ایجاد فایل جدید از طریق منوی File ، یک فایل خالی در یک تب جدید باز می شود و پس از ذخیره سازی ، نام فایل در پنل جانبی Explorer قابل مشاهده خواهد بود. ایجاد پوشه ها را می توان با کلیک راست بر روی نوار کناری Explorer و کلیک بر روی New Folder انجام داد. می توانید پوشه ای را با کلیک بر روی نام آن و همچنین drag و drop فایل ها و پوشه ها به قسمتهای بالایی بسط دهید تا آنها را به یک مکان جدید منتقل کنید.
می توانید با وارد کردن CTRL + SHIFT + `، یا با کلیک کردن بر روی ترمینال در منوی کشویی بالای منو ، و انتخاب New Terminal ، به ترمینال دسترسی پیدا کنید. ترمینال در یک پنل پایین تر باز خواهد شد و دیرکتوری کار آن روی فضای کاری پروژه تنظیم می شود ، که شامل فایل ها و پوشه های نمایش داده شده در پنل سمت Explorer است.
شما یک نمای کلی سطح بالا از رابط کد
نتیجه
اکنون کد-
درباره این سایت