سرور مجازی

۲ مطلب با کلمه‌ی کلیدی «سرور اتوماسیون متن باز» ثبت شده است

  • ۰
  • ۰

نحوه ایجاد یک سرور Minecraft در اوبونتو 18.04

  ورود به سایت

معرفی

Minecraft یک بازی ویدیویی محبوب sandbox است. این برنامه که در ابتدا در سال 2009 منتشر شد، به بازیکنان اجازه می‌دهد در دنیایی سه بعدی بسازند، بسازند، بسازند و زنده بمانند. از اوایل سال 2022، این بازی پرفروش ترین بازی ویدیویی تمام دوران بود. در این آموزش شما سرور Minecraft خود را ایجاد می کنید تا شما و دوستانتان با هم بازی کنید. به طور خاص، شما بسته های نرم افزاری لازم را برای اجرای Minecraft نصب می کنید، سرور را برای اجرا پیکربندی می کنید و سپس بازی را اجرا می کنید.

همچنین، می‌توانید سرور DigitalOcean’s One-Click Minecraft: Java Edition را به‌عنوان مسیر نصب دیگری کاوش کنید.

پیش نیازها

برای پیروی از این راهنما، شما نیاز دارید:

  • یک سرور با نصب جدید اوبونتو 18.04، یک کاربر غیر ریشه با امتیازات sudo و SSH فعال.
  • یک کپی از Minecraft Java Edition که بر روی یک ماشین محلی Mac، Windows یا Linux نصب شده است.

مرحله 1 – بسته های نرم افزاری لازم را نصب کرده و فایروال را پیکربندی کنید

با شروع اولیه سرور، اولین قدم شما نصب جاوا است. برای اجرای Minecraft به آن نیاز دارید. به‌طور پیش‌فرض، اوبونتو 18.04 نسخه جدید جاوا را برای اجرای جدیدترین نسخه‌های Minecraft ارائه نمی‌کند. خوشبختانه، نگهبانان شخص ثالثی وجود دارند که به ساخت بسته‌های جاوای جدیدتر برای نسخه‌های قدیمی‌تر اوبونتو ادامه می‌دهند و می‌توانید با افزودن PPA یا آرشیو بسته‌های شخصی آن‌ها به فهرست منابع بسته خود، آن‌ها را نصب کنید. با دستور زیر می توانید این کار را انجام دهید:

sudo add-apt-repository ppa:openjdk-r/ppa

سپس، منابع بسته خود را به‌روزرسانی کنید تا این افزوده را منعکس کند:

sudo apt update

در نهایت، OpenJDK نسخه 17 جاوا، به طور خاص JRE بدون هد را نصب کنید. این نسخه حداقلی از جاوا است که پشتیبانی از برنامه های رابط کاربری گرافیکی را حذف می کند. این آن را برای اجرای برنامه های جاوا بر روی سرور ایده آل می کند:

sudo apt install openjdk-17-jre-headless

همچنین باید از نرم افزاری به نام screen برای ایجاد جلسات سرور جداشونده استفاده کنید. صفحه نمایش به شما امکان می دهد یک جلسه ترمینال ایجاد کنید و از آن جدا شوید و روند شروع شده روی آن را اجرا کنید. این مهم است زیرا اگر بخواهید سرور خود را راه اندازی کنید و سپس ترمینال خود را ببندید، این کار باعث از بین رفتن جلسه و توقف سرور شما می شود. اکنون صفحه نمایش را نصب کنید:

sudo apt install screen

اکنون که بسته‌ها را نصب کرده‌اید، باید فایروال را فعال کنیم تا ترافیک به سرور Minecraft ما وارد شود. در راه اندازی اولیه سرور که انجام دادید، فقط به ترافیک ssh اجازه دادید. اکنون باید اجازه دهید که ترافیک از طریق پورت 25565 وارد شود، که پورت پیش فرضی است که Minecraft برای اجازه دادن به اتصالات استفاده می کند. در برخی موارد ufw از قوانین ترافیکی نام‌گذاری شده استفاده می‌کند، مانند ssh، که همیشه به طور پیش‌فرض از پورت 22 استفاده می‌کند، اما در موارد کمتر رایج مانند این، شماره پورت را به صورت دستی مشخص می‌کنیم. با اجرای دستور زیر قانون فایروال لازم را اضافه کنید:

sudo ufw allow 25565

اکنون که جاوا را نصب کرده اید و فایروال خود را به درستی پیکربندی کرده اید، برنامه سرور Minecraft را از وب سایت Minecraft دانلود خواهید کرد.

مرحله 2 – دانلود آخرین نسخه Minecraft

اکنون باید نسخه فعلی سرور Minecraft را دانلود کنید. می‌توانید این کار را با رفتن به وب‌سایت Minecraft و کپی کردن پیوندی که می‌گوید دانلود minecraft_server.X.X.X.jar انجام دهید، جایی که Xها آخرین نسخه سرور هستند.

اکنون می توانید از wget و پیوند کپی شده برای دانلود برنامه سرور در سرور خود استفاده کنید:

wget https://launcher.mojang.com/v1/objects/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar

برنامه سرور به عنوان server.jar دانلود می شود. اگر نیاز به مدیریت نسخه‌های Minecraft دارید، یا اگر می‌خواهید سرور Minecraft خود را ارتقا دهید، ممکن است مفید باشد که server.jar دانلود شده را به minecraft_server_1.18.1.jar تغییر نام دهید و اعداد نسخه برجسته شده را با نسخه‌ای که تازه دانلود کرده‌اید مطابقت دهید:

mv server.jar minecraft_server_1.18.1.jar

اگر می‌خواهید نسخه قدیمی‌تر Minecraft را دانلود کنید، می‌توانید آن‌ها را در mcversions.net بایگانی کنید. اما این آموزش بر آخرین نسخه فعلی تمرکز خواهد کرد. اکنون که دانلود خود را دارید، بیایید پیکربندی سرور Minecraft خود را شروع کنیم.

مرحله 3 – پیکربندی و اجرای سرور Minecraft

اکنون که jar Minecraft را دانلود کرده اید، آماده اجرای آن هستید.

ابتدا یک جلسه صفحه نمایش را با اجرای دستور screen شروع کنید:

screen

پس از خواندن بنر ظاهر شده، Spacebar را فشار دهید. صفحه نمایش یک جلسه ترمینال مانند حالت عادی به شما ارائه می دهد. این جلسه اکنون قابل جدا شدن است، به این معنی که می‌توانید دستوری را در اینجا شروع کنید و آن را اجرا کنید.

اکنون می توانید پیکربندی اولیه خود را انجام دهید. وقتی دستور بعدی خطایی می دهد، نگران نباشید. Minecraft نصب خود را به این صورت طراحی کرده است که کاربران ابتدا باید با موافقت نامه مجوز شرکت موافقت کنند. در ادامه این کار را انجام خواهید داد:

java -Xms1024M -Xmx1024M -jar minecraft_server_1.18.1.jar nogui

قبل از بررسی خروجی این دستور، بیایید نگاهی دقیق‌تر به همه این آرگومان‌های خط فرمان که سرور شما را تنظیم می‌کنند بیاندازیم:

  • Xms1024M – این سرور را به گونه ای پیکربندی می کند که با 1024 مگابایت یا 1 گیگابایت رم در حال اجرا باشد. اگر می خواهید سرور شما با رم بیشتری شروع به کار کند، می توانید این محدودیت را افزایش دهید. هر دو M برای مگابایت و G برای گیگابایت گزینه های پشتیبانی می شوند. به عنوان مثال: Xms2G سرور را با 2 گیگابایت رم راه اندازی می کند.
  • Xmx1024M – این سرور را برای استفاده حداکثر از 1024M رم پیکربندی می کند. اگر می‌خواهید سرورتان در اندازه بزرگ‌تری اجرا شود، بازیکنان بیشتری را مجاز کنید، یا اگر احساس می‌کنید که سرورتان کند کار می‌کند، می‌توانید این محدودیت را افزایش دهید. برنامه های جاوا از این جهت منحصر به فرد هستند که همیشه از شما می خواهند حداکثر مقدار حافظه ای که می توانند استفاده کنند را مشخص کنید.
  • jar – این پرچم مشخص می کند که کدام فایل jar سرور اجرا شود.
  • nogui – این به سرور می گوید که رابط کاربری گرافیکی را راه اندازی نکند زیرا این یک سرور است و شما یک رابط کاربری گرافیکی ندارید.

اولین باری که این دستور را اجرا می کنید که معمولاً سرور شما را راه اندازی می کند، این خروجی را دریافت خواهید کرد:

 

Output

[22:05:31] [22:05:31] [main/ERROR]: Failed to load properties from file: server.properties
[22:05:31] [main/WARN]: Failed to load eula.txt
[22:05:31] [main/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

این خطاها به این دلیل ایجاد شده‌اند که سرور نمی‌تواند دو فایل لازم برای اجرا را پیدا کند: EULA (توافقنامه مجوز کاربر نهایی) که در eula.txt یافت می‌شود و فایل پیکربندی server.properties. از آنجایی که سرور قادر به یافتن این فایل ها نبود، آنها را در فهرست کاری فعلی شما ایجاد کرد. Minecraft این کار را عمدا انجام می دهد تا مطمئن شود که EULA آن را خوانده اید و با آن موافقت کرده اید.

eula.txt را در nano یا ویرایشگر متن مورد علاقه خود باز کنید:

nano eula.txt

در داخل این فایل، پیوندی به EULA Minecraft مشاهده خواهید کرد. URL را کپی کنید:

~/eula.txt

#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Tue Mar 24 22:05:31 UTC 2020
eula=false

URL را در مرورگر وب خود باز کنید و توافق نامه را بخوانید. سپس به ویرایشگر متن خود برگردید و آخرین خط را در eula.txt پیدا کنید. در اینجا eula=false را به eula=true تغییر دهید. سپس فایل را ذخیره کرده و ببندید. در نانو، این به این معنی است که Ctrl+X را برای خروج فشار دهید، سپس وقتی از شما خواسته شد ذخیره کنید، Y و سپس Enter کنید.

اکنون که EULA را پذیرفته اید، می توانید سرور را مطابق با مشخصات خود پیکربندی کنید.

در دایرکتوری فعلی خود، فایل server.properties ایجاد شده جدید را نیز خواهید یافت. این فایل شامل تمامی گزینه های پیکربندی سرور Minecraft شما می باشد. می‌توانید فهرست دقیقی از تمام ویژگی‌های سرور را در ویکی رسمی Minecraft پیدا کنید. قبل از راه اندازی سرور باید این فایل را با تنظیمات دلخواه خود تغییر دهید. این آموزش برخی از تنظیمات اساسی را پوشش می دهد:

nano server.properties

فایل شما به شکل زیر ظاهر می شود:

~/server.properties

#Minecraft server properties
#Thu Apr 30 23:42:29 UTC 2020
spawn-protection=16
max-tick-time=60000
query.port=25565
generator-settings=
force-gamemode=false
allow-nether=true
enforce-whitelist=false
gamemode=survival
broadcast-console-to-ops=true
enable-query=false
player-idle-timeout=0
difficulty=easy
spawn-monsters=true
broadcast-rcon-to-ops=true
op-permission-level=4
pvp=true
snooper-enabled=true
level-type=default
hardcore=false
enable-command-block=false
max-players=20
network-compression-threshold=256
resource-pack-sha1=
max-world-size=29999984
function-permission-level=2
rcon.port=25575
server-port=25565
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
rcon.password=
generate-structures=true
online-mode=true
max-build-height=256
level-seed=
prevent-proxy-connections=false
use-native-transport=true
motd=A Minecraft Server
enable-rcon=false

بیایید نگاهی دقیق تر به برخی از مهم ترین ویژگی های این لیست بیندازیم:

دشواری (پیش‌فرض آسان) – این میزان سختی بازی را تعیین می‌کند، مانند میزان آسیب وارد شده و چگونگی تأثیر عناصر بر بازیکن شما. گزینه ها صلح آمیز، آسان، عادی و سخت هستند.
حالت بازی (بقای پیش فرض) – این حالت گیم پلی را تنظیم می کند. گزینه ها بقا، خلاقیت، ماجراجویی و تماشاگر هستند.
level-name (دنیای پیش فرض) – این نام سرور شما را تعیین می کند که در مشتری ظاهر می شود. ممکن است لازم باشد قبل از کاراکترهای خاص مانند آپوستروف، علامت معکوس وجود داشته باشد. شناخته شده است که این کاراکترهای فرار است، و زمانی که کاراکترهای خاص ممکن است به درستی در زمینه تجزیه و تحلیل نشوند، معمول است.
motd (سرور پیش فرض یک Minecraft) – پیامی که در لیست سرور مشتری Minecraft نمایش داده می شود.
pvp (پیش‌فرض درست) – نبرد بازیکن در مقابل بازیکن را فعال می‌کند. اگر روی true تنظیم شود، بازیکنان می‌توانند وارد جنگ شوند و به یکدیگر آسیب برسانند.
پس از تنظیم گزینه های مورد نظر، فایل را ذخیره کرده و ببندید.

اکنون می توانید سرور خود را با موفقیت راه اندازی کنید.

مانند دفعه قبل، بیایید سرور خود را با 1024M RAM راه اندازی کنیم. این بار، همچنین باید به Minecraft این امکان را بدهید که در صورت لزوم تا 4G از رم استفاده کند. به یاد داشته باشید که می توانید این شماره را متناسب با محدودیت های سرور یا نیازهای کاربر خود تنظیم کنید:

java -Xms1024M -Xmx4G -jar minecraft_server_1.18.1.jar nogui

چند لحظه به مقدار دهی اولیه بدهید. به زودی سرور Minecraft جدید شما شروع به تولید خروجی مشابه این خواهد کرد:

 

Output

[21:08:14] [Server thread/INFO]: Starting minecraft server version 1.15.2
[21:08:14] [Server thread/INFO]: Loading properties
[21:08:14] [Server thread/INFO]: Default game type: SURVIVAL
[21:08:14] [Server thread/INFO]: Generating keypair
[21:08:15] [Server thread/INFO]: Starting minecraft server on *:25565

پس از راه اندازی سرور، خروجی زیر را مشاهده خواهید کرد:

 

Output

[21:15:37] [Server thread/INFO]: Done (30.762s)! For help, type "help"

سرور شما اکنون در حال اجرا است و کنترل پنل مدیر سرور به شما نمایش داده شده است. راهنمای تایپ کردن را امتحان کنید:

help

خروجی به شکل زیر ظاهر می شود:

 

Output

[21:15:37] [Server thread/INFO]: /advancement (grant|revoke)
[21:15:37] [Server thread/INFO]: /ban <targets> [<reason>]
[21:15:37] [Server thread/INFO]: /ban-ip <target> [<reason>]
[21:15:37] [Server thread/INFO]: /banlist [ips|players]
...

از این ترمینال می توانید دستورات مدیر را اجرا کرده و سرور Minecraft خود را کنترل کنید. اکنون یاد خواهید گرفت که از صفحه نمایش برای فعال نگه داشتن سرور Minecraft خود پس از خروج از ترمینال استفاده کنید. سپس می توانید به مشتری Minecraft خود متصل شوید و یک بازی جدید را شروع کنید.

مرحله 4 – نگه داشتن سرور در حال اجرا

اکنون که سرور خود را روشن کرده اید، می خواهید حتی پس از قطع اتصال از جلسه SSH، همچنان در حال اجرا باشد. از آنجایی که قبلاً از صفحه استفاده کرده اید، می توانید با فشار دادن Ctrl + A + D از این جلسه جدا شوید. باید ببینید که به پوسته اصلی خود برگشته اید:

 

Output

​​ubuntu@minecraft-1804:~$ screen
[detached from 3626.pts-0.minecraft-1804]
$

این دستور را اجرا کنید تا تمام جلسات صفحه نمایش خود را ببینید:

screen -list

خروجی با شناسه جلسه خود دریافت خواهید کرد که برای از سرگیری آن جلسه باید آن را از سر بگیرید:

 

Output

There is a screen on:
        3626.pts-0.minecraft-1804 (11/16/21 22:56:33) (Detached)
1 Socket in /run/screen/S-root.

برای از سرگیری جلسه خود، پرچم -r را به فرمان صفحه ارسال کنید و سپس شناسه جلسه خود را وارد کنید:

screen -r 3626

وقتی دوباره آماده خروج از ترمینال شدید، حتما با Ctrl + A + D از جلسه جدا شده و سپس از سیستم خارج شوید.

مرحله 5 – اتصال به سرور خود از مشتری Minecraft

اکنون که سرور شما راه‌اندازی شده است، بیایید از طریق مشتری Minecraft به آن متصل شویم. سپس می توانید بازی کنید!

نسخه Minecraft Java Edition خود را اجرا کنید و Multiplayer را در منو انتخاب کنید.

 

در مرحله بعد، باید یک سرور برای اتصال به آن اضافه کنید، بنابراین روی دکمه افزودن سرور کلیک کنید.

در صفحه ویرایش اطلاعات سرور که نشان داده می شود، یک نام به سرور خود بدهید و آدرس IP سرور خود را تایپ کنید. این همان آدرس IP است که برای اتصال از طریق SSH استفاده کردید.

 

هنگامی که نام سرور و آدرس IP خود را وارد کردید، به صفحه Multiplayer بازگردانده می شوید، جایی که سرور شما اکنون لیست می شود.

از این پس سرور شما همیشه در این لیست ظاهر می شود. آن را انتخاب کرده و روی Join Server کلیک کنید.

شما در سرور خود هستید و آماده بازی هستید!

نتیجه

شما اکنون یک سرور Minecraft دارید که روی اوبونتو 18.04 اجرا می شود تا شما و همه دوستانتان با آن بازی کنید! از کاوش، کاردستی و زنده ماندن در یک دنیای خام سه بعدی لذت ببرید.

 

 

https://vpsgol.net/product/vps-germany/

 

https://vpsgol.net/product/vps-usa/

 

https://vpsgol.net/product/vps-france/

 

https://vpsgol.net/product/vps-canada/

 

https://vpsgol.net/product/vps-poland/

 

https://vpsgol.net/product/vps-netherlands/

 

https://vpsgol.net/product/vps-england/

 

برچسب‌ها:Jenkinsاتصال به سرور مجازیاتصال به سرور مجازی لینوکسانواع سرور مجازیپیکربندی Webhooksخرید سرور مجازیدسترسی Jenkins به GitHubسرور اتوماسیون متن بازسرور اوبونتو 20.04

  • behnam gol mohamadi
  • ۰
  • ۰

 

نحوه راه اندازی خطوط لوله یکپارچه سازی مداوم در Jenkins در اوبونتو 20.04

 

ورود به سرور

 

 

 

معرفی

جنکینز یک سرور اتوماسیون متن باز است که برای خودکارسازی وظایف فنی تکراری درگیر در یکپارچه سازی و تحویل مداوم نرم افزار طراحی شده است. با یک اکوسیستم قوی از پلاگین ها و پشتیبانی گسترده، جنکینز می تواند مجموعه متنوعی از بارهای کاری را برای ساخت، آزمایش و استقرار برنامه ها مدیریت کند.

در راهنماهای قبلی، ما جنکینز را روی سرور اوبونتو 20.04 نصب کردیم و جنکینز را با SSL با استفاده از یک پراکسی معکوس Nginx پیکربندی کردیم. در این راهنما، نحوه راه‌اندازی Jenkins را برای آزمایش خودکار یک برنامه زمانی که تغییرات به یک مخزن منتقل می‌شوند، نشان خواهیم داد.

برای این آموزش، ما Jenkins را با GitHub ادغام خواهیم کرد تا زمانی که کد جدید به مخزن فرستاده می شود، جنکینز مطلع شود. وقتی جنکینز مطلع شد، کد را بررسی می‌کند و سپس آن را در کانتینرهای Docker آزمایش می‌کند تا محیط آزمایشی را از دستگاه میزبان جنکینز جدا کند. ما از یک نمونه برنامه Node.js برای نشان دادن نحوه تعریف فرآیند CI/CD برای یک پروژه استفاده خواهیم کرد.

پیش نیازها

برای پیروی از این راهنما، به یک سرور اوبونتو 20.04 با حداقل 1G RAM که با نصب ایمن جنکینز پیکربندی شده باشد، نیاز دارید. برای ایمن سازی مناسب رابط وب، باید یک نام دامنه به سرور جنکینز اختصاص دهید. برای یادگیری نحوه تنظیم Jenkins در قالب مورد انتظار، این راهنماها را دنبال کنید:

  • نحوه نصب جنکینز در اوبونتو 20.04
  • نحوه نصب Nginx در اوبونتو 20.04
  • چگونه Nginx را با Let’s Encrypt در اوبونتو 20.04 ایمن کنیم
  • نحوه پیکربندی جنکینز با SSL با استفاده از پروکسی معکوس Nginx

برای کنترل بهتر محیط آزمایش خود، آزمایش های برنامه خود را در کانتینرهای Docker اجرا می کنیم. پس از راه‌اندازی Jenkins، Docker را با انجام مراحل یک و دو این راهنما بر روی سرور نصب کنید:

  • نحوه نصب و استفاده از Docker در اوبونتو 20.04

هنگامی که راهنماهای فوق را کامل کردید، می توانید با این مقاله ادامه دهید.

 

کاربر Jenkins را به گروه Docker اضافه کنید

پس از رعایت پیش نیازها، هر دو جنکینز و داکر بر روی سرور شما نصب می شوند. با این حال، به طور پیش فرض، کاربر لینوکس مسئول اجرای فرآیند جنکینز نمی تواند به Docker دسترسی داشته باشد.

برای رفع این مشکل، باید کاربر jenkins را با استفاده از دستور usermod به گروه docker اضافه کنیم:

sudo usermod -aG docker jenkins

می‌توانید اعضای گروه docker را فهرست کنید تا تأیید کنید که کاربر jenkins با موفقیت اضافه شده است:

grep docker /etc/group

 

Output

docker:x:999:sammy,jenkins

برای اینکه جنکینز از عضویت جدید خود استفاده کند، باید فرآیند را مجدداً راه اندازی کنید:

sudo systemctl restart jenkins

اگر جنکینز را با افزونه‌های پیش‌فرض نصب کرده‌اید، ممکن است لازم باشد بررسی کنید که افزونه‌های docker و docker-pipeline نیز فعال هستند. برای انجام این کار، روی Manage Jenkins از نوار کناری و سپس Manage Plugins از منوی بعدی کلیک کنید. برای جستجوی افزونه های جدید، روی تب Available از منوی افزونه کلیک کنید و docker را در نوار جستجو تایپ کنید. اگر هر دو افزونه Docker Pipeline و Docker به عنوان گزینه برگردانده شدند، و انتخاب نشدند، هر دو را انتخاب کنید، و هنگامی که از شما خواسته شد، به Jenkins اجازه راه اندازی مجدد با فعال بودن افزونه های جدید را بدهید.

این باید تقریباً یک دقیقه طول بکشد و صفحه پس از آن بازخوانی می شود.

یک رمز دسترسی شخصی در GitHub ایجاد کنید

برای اینکه جنکینز پروژه های GitHub شما را تماشا کند، باید یک رمز دسترسی شخصی در حساب GitHub ما ایجاد کنید.

اگر قبلاً این کار را نکرده اید، با بازدید از GitHub و وارد شدن به حساب خود شروع کنید. پس از آن، روی نماد کاربر خود در گوشه سمت راست بالا کلیک کنید و تنظیمات را از منوی کشویی انتخاب کنید:

در صفحه زیر، بخش تنظیمات برنامه‌نویس را در منوی سمت چپ پیدا کرده و روی گزینه‌های دسترسی شخصی کلیک کنید:

در صفحه بعد روی دکمه Generate new token کلیک کنید:

شما به صفحه ای هدایت می شوید که در آن می توانید محدوده توکن جدید خود را مشخص کنید.

در کادر توضیحات Token، توضیحی اضافه کنید که به شما امکان می دهد بعداً آن را تشخیص دهید:

در بخش Select scopes، کادرهای repo:status، repo:public_repo و admin:org_hook را بررسی کنید. اینها به جنکینز اجازه می‌دهد تا وضعیت‌های commit را به‌روزرسانی کند و برای پروژه وب هوک ایجاد کند. اگر از یک مخزن خصوصی استفاده می کنید، باید مجوز عمومی مخزن را به جای موارد فرعی مخزن انتخاب کنید:

 

وقتی کارتان تمام شد، روی Generate token در پایین کلیک کنید.

شما به صفحه فهرست نشانه های دسترسی شخصی هدایت می شوید و رمز جدید شما نمایش داده می شود:

 

اکنون توکن را کپی کنید تا بعداً بتوانیم به آن ارجاع دهیم. همانطور که پیام نشان می دهد، پس از خروج از این صفحه، راهی برای بازیابی رمز وجود ندارد.

اکنون که یک نشانه دسترسی شخصی برای حساب GitHub خود دارید، می‌توانیم جنکینز را برای تماشای مخزن پروژه شما پیکربندی کنیم.

رمز دسترسی شخصی GitHub را به جنکینز اضافه کنید

اکنون که یک توکن داریم، باید آن را به سرور جنکینز خود اضافه کنیم تا بتواند به طور خودکار وب هوک ها را راه اندازی کند. با استفاده از حساب مدیریتی که در حین نصب پیکربندی کرده اید، وارد رابط وب جنکینز خود شوید.

روی نام کاربری خود در گوشه سمت راست بالا کلیک کنید تا به تنظیمات کاربری خود دسترسی پیدا کنید و از آنجا روی Credentials در منوی سمت چپ کلیک کنید. :

در صفحه بعد، روی فلش کنار (جهانی) در محدوده جنکینز کلیک کنید. در کادری که ظاهر می‌شود، روی Add credentials کلیک کنید:

برای افزودن اعتبارنامه جدید به فرمی هدایت خواهید شد.

در زیر منوی کشویی Kind، Secret text را انتخاب کنید. در قسمت Secret، رمز دسترسی شخصی GitHub خود را جایگذاری کنید. قسمت توضیحات را پر کنید تا بتوانید بعداً این ورودی را شناسایی کنید. می توانید Scope را به صورت Global و قسمت ID را خالی بگذارید:

وقتی کارتان تمام شد روی دکمه OK کلیک کنید.

اکنون می‌توانید برای کمک به پیکربندی، به این اعتبارنامه‌ها از سایر بخش‌های Jenkins مراجعه کنید.

دسترسی Jenkins به GitHub را تنظیم کنید

در داشبورد اصلی جنکینز، روی Manage Jenkins در منوی سمت چپ کلیک کنید:

در لیست پیوندها در صفحه زیر، روی Configure System کلیک کنید:

در میان گزینه های صفحه بعد حرکت کنید تا قسمت GitHub را پیدا کنید. روی دکمه Add GitHub Server کلیک کنید و سپس GitHub Server را انتخاب کنید:

بخش برای درخواست برخی اطلاعات بیشتر گسترش می یابد. در منوی کشویی Credentials، رمز دسترسی شخصی GitHub خود را که در بخش آخر اضافه کردید انتخاب کنید:

روی دکمه اتصال تست کلیک کنید. جنکینز یک تماس آزمایشی API با حساب شما برقرار می کند و اتصال را تأیید می کند:

پس از اتمام کار، روی دکمه ذخیره کلیک کنید تا تغییرات خود را اعمال کنید.

برنامه نمایش را در حساب GitHub خود تنظیم کنید

برای نشان دادن نحوه استفاده از جنکینز برای آزمایش یک برنامه، از یک برنامه “Hello world” ایجاد شده با Hapi.js استفاده خواهیم کرد. از آنجایی که ما Jenkins را برای واکنش به فشارهای مخزن تنظیم می کنیم، باید کپی خود را از کد نمایشی داشته باشید.

از مخزن پروژه دیدن کنید و روی دکمه Fork در گوشه سمت راست بالا کلیک کنید تا یک کپی از مخزن در حساب خود ایجاد کنید:

یک کپی از مخزن به حساب شما اضافه می شود.

مخزن حاوی یک فایل package.json است که وابستگی های زمان اجرا و توسعه و همچنین نحوه اجرای مجموعه آزمایشی ارائه شده را تعریف می کند. وابستگی ها را می توان با اجرای npm install نصب کرد و تست ها را می توان با استفاده از تست npm اجرا کرد.

ما یک Jenkinsfile را نیز به مخزن اضافه کرده ایم. جنکینز این فایل را می‌خواند تا اقداماتی را که باید در مقابل مخزن برای ساخت، آزمایش یا استقرار اجرا شود، تعیین کند. با استفاده از نسخه اعلانی Jenkins Pipeline DSL نوشته شده است.

Jenkinsfile موجود در مخزن hello-hapi به شکل زیر است:

Jenkinsfile

#!/usr/bin/env groovy

pipeline {

    agent {
        docker {
            image 'node'
            args '-u root'
        }
    }

    stages {
        stage('Build') {
            steps {
                echo 'Building...'
                sh 'npm install'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing...'
                sh 'npm test'
            }
        }
    }
}

خط لوله شامل کل تعریفی است که جنکینز ارزیابی خواهد کرد. در داخل، ما یک بخش agent داریم که مشخص می کند اقدامات در خط لوله کجا اجرا می شوند. برای جداسازی محیط‌هایمان از سیستم میزبان، در کانتینرهای Docker که توسط عامل docker مشخص شده است آزمایش خواهیم کرد.

از آنجایی که Hapi.js یک چارچوب برای Node.js است، از تصویر گره Docker به عنوان پایه خود استفاده خواهیم کرد. کاربر ریشه را در ظرف مشخص می‌کنیم تا کاربر بتواند هم‌زمان در جلد ضمیمه شده حاوی کد بررسی‌شده و هم در حجمی که اسکریپت خروجی خود را روی آن می‌نویسد بنویسد.

در مرحله بعد، فایل دو مرحله، یعنی تقسیمات منطقی کار را تعریف می کند. ما نام اولی را «ساخت» و دومی را «تست» گذاشته‌ایم. مرحله ساخت یک پیام تشخیصی را چاپ می کند و سپس npm install را برای به دست آوردن وابستگی های مورد نیاز اجرا می کند. مرحله تست پیام دیگری را چاپ می کند و سپس تست ها را همانطور که در فایل package.json تعریف شده است اجرا می کند.

اکنون که یک مخزن با یک Jenkinsfile معتبر دارید، می‌توانیم Jenkins را برای تماشای این مخزن راه‌اندازی کنیم و پس از ایجاد تغییرات، فایل را اجرا کنیم.

یک خط لوله جدید در جنکینز ایجاد کنید

در مرحله بعد، می‌توانیم جنکینز را برای استفاده از نشانه دسترسی شخصی GitHub برای تماشای مخزن خود تنظیم کنیم.

در داشبورد اصلی جنکینز، روی آیتم جدید در منوی سمت چپ کلیک کنید:

در قسمت Enter an item name نامی را برای خط لوله جدید خود وارد کنید. پس از آن، Pipeline را به عنوان نوع مورد انتخاب کنید:

برای ادامه روی دکمه OK در پایین کلیک کنید.

در صفحه بعدی، کادر پروژه GitHub را علامت بزنید. در قسمت Project url که ظاهر می شود، URL مخزن GitHub پروژه خود را وارد کنید.

سپس، در بخش Build Triggers، محرک قلاب GitHub را برای کادر نظرسنجی GITScm بررسی کنید:

در قسمت Pipeline، باید به Jenkins بگوییم که خط لوله تعریف شده در Jenkinsfile را در مخزن ما اجرا کند. نوع Definition را از SCM به Pipeline script تغییر دهید.

در بخش جدیدی که ظاهر می شود، Git را در منوی SCM انتخاب کنید. در فیلد URL مخزن که ظاهر می‌شود، دوباره URL را به فورک مخزن وارد کنید:

وقتی کارتان تمام شد، روی دکمه ذخیره در پایین صفحه کلیک کنید.

انجام ساخت اولیه و پیکربندی Webhooks

هنگامی که خط لوله را برای مخزن در رابط تعریف می کنید، جنکینز به طور خودکار وب هوک ها را پیکربندی نمی کند. برای اینکه جنکینز را تحریک کنیم تا هوک های مناسب را تنظیم کند، باید اولین بار یک ساخت دستی انجام دهیم.

در صفحه اصلی خط لوله خود، روی Build Now در منوی سمت چپ کلیک کنید:

ساخت جدید برنامه ریزی خواهد شد. در کادر Build History در گوشه سمت چپ پایین، یک ساخت جدید باید در یک لحظه ظاهر شود. علاوه بر این، نمای مرحله ای در ناحیه اصلی رابط شروع به ترسیم می کند. با تکمیل مراحل مختلف، این پیشرفت اجرای آزمایشی شما را ردیابی می کند:

در کادر Build History، روی عدد مرتبط با ساخت کلیک کنید تا به صفحه جزئیات ساخت بروید. از اینجا، می‌توانید روی دکمه خروجی کنسول در منوی سمت چپ کلیک کنید تا جزئیات مراحل اجرا شده را ببینید:

پس از اتمام کار، روی آیتم بازگشت به پروژه در منوی سمت چپ کلیک کنید تا به نمای خط لوله اصلی بازگردید.

اکنون که یک بار پروژه را ساخته‌ایم، می‌توانیم از جنکینز بخواهیم که وب هوک‌ها را برای پروژه ما ایجاد کند. روی Configure در منوی سمت چپ خط لوله کلیک کنید:

هیچ تغییری در این صفحه لازم نیست، فقط روی دکمه ذخیره در پایین کلیک کنید. اکنون که جنکینز از فرآیند ساخت اولیه اطلاعاتی در مورد پروژه دارد، هنگامی که صفحه را ذخیره می کنید، یک هوک در پروژه GitHub ما ثبت می کند.

می‌توانید با رفتن به مخزن GitHub خود و کلیک کردن روی دکمه تنظیمات، این موضوع را تأیید کنید. در صفحه بعد از منوی کناری روی Webhooks کلیک کنید. شما باید وب هوک سرور جنکینز خود را در رابط اصلی ببینید:

 

اگر به هر دلیلی Jenkins نتوانست قلاب را ثبت کند (مثلاً به دلیل تغییرات API بالادست یا قطعی بین Jenkins و Github)، می‌توانید به سرعت خودتان یکی را با کلیک کردن روی Add webhook و اطمینان از اینکه URL Payload روی https:// تنظیم شده است اضافه کنید. my-jenkins-server:8080/github-webhook و نوع محتوا روی application/json تنظیم شده است، سپس دوباره روی Add webhook در پایین دستور کلیک کنید.

 

اکنون، هنگامی که تغییرات جدید را در مخزن خود اعمال می کنید، جنکینز مطلع می شود. سپس کد جدید را می کشد و با استفاده از همان روش دوباره آن را آزمایش می کند.

برای تقریبی این، در صفحه مخزن ما در GitHub، می توانید روی دکمه ایجاد فایل جدید در سمت چپ دکمه سبز رنگ Clone یا دانلود کلیک کنید:

در صفحه بعد، یک نام فایل و برخی از محتوای ساختگی را انتخاب کنید:

وقتی کارتان تمام شد، روی دکمه Commit new file در پایین کلیک کنید.

اگر به رابط Jenkins خود بازگردید، خواهید دید که یک ساخت جدید به طور خودکار شروع شده است:

می‌توانید با ایجاد تعهد به یک کپی محلی از مخزن و بازگرداندن آن به GitHub، ساخت‌های اضافی را شروع کنید.

نتیجه

در این راهنما، ما جنکینز را برای تماشای یک پروژه GitHub پیکربندی کرده ایم و به طور خودکار هر تغییر جدیدی را که انجام می شود آزمایش می کنیم. جنکینز کد را از مخزن می کشد و سپس مراحل ساخت و آزمایش را از داخل کانتینرهای Docker ایزوله اجرا می کند. کد به دست آمده را می توان با افزودن دستورالعمل های اضافی به همان Jenkinsfile مستقر یا ذخیره کرد.

 

 

 

https://vpsgol.net/product/vps-germany/

 

https://vpsgol.net/product/vps-usa/

 

https://vpsgol.net/product/vps-france/

 

https://vpsgol.net/product/vps-canada/

 

https://vpsgol.net/product/vps-poland/

 

https://vpsgol.net/product/vps-netherlands/

 

https://vpsgol.net/product/vps-england/

 

Jenkinsاتصال به سرور مجازیاتصال به سرور مجازی لینوکسانواع سرور مجازیپیکربندی Webhooksخرید سرور مجازیدسترسی Jenkins به GitHubسرور اتوماسیون متن بازسرور اوبونتو 20.04

  • behnam gol mohamadi