نحوه نصب و پیکربندی Buildbot در CentOS 7

Buildbot یک ابزار ادغام پیوسته و مبتنی بر پایتون برای خودکارسازی ساختن نرم افزار ، آزمایش و استقرار است. Buildbot متشکل از یک یا چند استاد Buildbot و تعدادی کارگر است. Master Buildbot یا Buildmaster فرمان مرکزی سیستم را دارد. این مسئول مدیریت محیط ساخت و ساز ، کارگران است و کلیه تصمیمات در مورد ارسال شغل به کارگران را می گیرد. Buildmaster تغییرات موجود در مخزن کد را تشخیص داده و دستورات یا کارها را برای اجرای کار به کارگران ارسال می کند. کارگران کارها را انجام داده و نتیجه را به Buildmaster برمی گردانند. سپس Buildmaster از طریق چندین کانال پشتیبانی از توسعه دهندگان خبر می دهد. در این آموزش ، استاد و کارگر Buildbot را بر روی CentOS 7 نصب خواهیم کرد. همچنین احراز هویت و Nginx را به عنوان یک پروکسی معکوس ایمن پیکربندی خواهیم کرد.

پیش نیازها

  • نمونه سرور Vultr CentOS 7 با حداقل 1 GB RAM.
  • کاربران از sudo .
  • یک نام دامنه ثبت شده به سمت سرور نشان داده شده است.

برای این آموزش ، ما به 192.168.1.1عنوان آدرس IP عمومی و ci.example.comبه عنوان نام دامنه به سمت نمونه Vultr اشاره خواهیم کرد. لطفاً اطمینان حاصل کنید که تمام وقایع نام دامنه و آدرس IP را با نمونه واقعی جایگزین کنید.

سیستم پایه خود را با استفاده از راهنمای نحوه به روزرسانی CentOS 7 به روز کنید . پس از به روزرسانی سیستم ، نصب PostgreSQL را ادامه دهید.

وابستگی های پایتون را نصب کنید

Pip را نصب کنید که یک مدیر بسته برای Python است.

sudo yum -y install epel-release
sudo yum -y install python-pip gcc python-devel git
sudo pip install --upgrade pip

PostgreSQL را نصب کنید

Buildbot از انواع مختلفی از سرورهای پایگاه داده مانند MySQL ، PostgreSQL و SQLite پشتیبانی می کند. در این آموزش از PostgreSQL برای میزبانی سرور پایگاه داده Buildbot استفاده خواهیم کرد.

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

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

سرور پایگاه داده PostgreSQL را نصب کنید.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

اولویت بندی پایگاه داده.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

سرور PostgreSQL را راه اندازی کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود.

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

گذرواژه را برای کاربر پیش فرض PostgreSQL تغییر دهید.

sudo passwd postgres

به عنوان کاربر PostgreSQL وارد شوید.

sudo su - postgres

یک کاربر جدید PostgreSQL برای Buildbot ایجاد کنید.

createuser bb_user

در صورت تمایل می توانید از هر نام کاربری استفاده bb_userکنید. PostgreSQL psqlپوسته را برای اجرای نمایش داده ها در پایگاه داده فراهم می کند . به پوسته PostgreSQL بروید.

psql

رمزعبور را برای کاربر تازه ایجاد شده تنظیم کنید.

ALTER USER bb_user WITH ENCRYPTED password 'DBPassword';

DBPasswordبا یک رمز عبور ایمن جایگزین کنید .

برای نصب Buildbot یک دیتابیس جدید ایجاد کنید.

CREATE DATABASE buildbot OWNER bb_user;

از psqlپوسته خارج شوید.

\q

به sudoکاربر تغییر دهید.

exit

pg_hba.confبرای فعال کردن احراز هویت مبتنی بر MD5 ، پرونده را ویرایش کنید.

sudo nano /var/lib/pgsql/10/data/pg_hba.conf

یافتن خطوط زیر و تغییر ارزش peerها و identدر METHODستون، به trustو md5، به ترتیب.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

پس از به روزرسانی ، پیکربندی مانند متن زیر خواهد بود.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

پرونده را ذخیره کرده و از ویرایشگر خارج شوید. آداپتور پایگاه داده PostgreSQL را برای Python نصب کنید.

sudo pip install psycopg2

PostgreSQL را مجدداً راه اندازی کنید تا تغییرات مؤثر واقع شوند.

sudo systemctl restart postgresql-10

Buildbot را نصب کنید

Buildbot را با استفاده از Pip نصب کنید.

sudo pip install 'buildbot[bundle]' pyopenssl service_identity

دستور فوق Buildbot همراه با نصب buildbot-www، buildbot-workerو چندین وب پلاگین ها مانند buildbot-waterfall-view.

برای اطمینان از نصب موفقیت آمیز Buildbot ، می توانید با بررسی نسخه Buildbot تأیید کنید.

buildbot --version

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

[user@vultr ~]$ buildbot --version
Buildbot version: 0.9.15.post1
Twisted version: 17.9.0

قوانین فایروال خود را اصلاح ک��ید تا پورت مجاز شود 8010. Buildbot از این پورت برای گوش دادن به درخواست های وب استفاده می کند.

sudo firewall-cmd --zone=public --add-port=8010/tcp --permanent
sudo firewall-cmd --reload

Buildbot Master را پیکربندی کنید

برای اجرای فرایندهای کارشناسی ارشد و کارگر Buildbot ، یک کاربر جدید غیر شخصی ایجاد کنید. اجرای خدمات اصلی Buildbot به عنوان rootکاربر توصیه نمی شود .

sudo adduser buildbot
sudo passwd buildbot

به عنوان buildbotکاربر تازه ایجاد شده وارد شوید

sudo su - buildbot

استاد Buildbot را در /home/buildbot/masterدایرکتوری تنظیم کنید . این فهرست شامل پیکربندی ، وضعیت و پرونده های ثبت شده در هر ساخت می باشد.

buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master

حتماً در دستور فوق ، اعتبار کاربر پایگاه داده را جایگزین کنید.

توجه: اگر می خواهید به جای PostgreSQL از بانک اطلاعاتی SQLite استفاده کنید ، --db 'postgresql://bb_user:DBpassword@localhost/buildbot'گزینه را به راحتی حذف کنید. بانک اطلاعاتی SQLite در همان دایرکتوری ایجاد می شود.

دستور فوق ~/masterبرای ذخیره پرونده های Buildmaster دایرکتوری ایجاد می کند . همچنین داده ها را در پایگاه داده PostgreSQL می نویسد. خروجی زیر را دریافت خواهید کرد.

[buildbot@vultr ~]$ buildbot create-master --db 'postgresql://bb_user:DBPassword@localhost/buildbot' ~/master
mkdir /home/buildbot/master
creating /home/buildbot/master/master.cfg.sample
creating database (postgresql://bb_user:DBPassword@localhost/buildbot)
buildmaster configured in /home/buildbot/master

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

cp ~/master/master.cfg.sample ~/master/master.cfg

پرونده پیکربندی را ویرایش کنید.

nano ~/master/master.cfg

سطرهای زیر را پیدا کنید.

c['workers'] = [worker.Worker("example-worker", "pass")]
...

c['builders'].append(
    util.BuilderConfig(name="runtests",
      workernames=["example-worker"],
      factory=factory))
...

c['title'] = "Hello World CI"
c['titleURL'] = "https://buildbot.github.io/hello-world/"
...

c['buildbotURL'] = "http://localhost:8010/"
...

c['db'] = {
    'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}

پیکربندی فوق دارای ورودی برای یک کارگر نمونه است. ما ورودی نمونه را برای کارگر مورد نظر خود اصلاح خواهیم کرد localhost. تغییر نام example-workerبه هر نام مناسب برای localhostکارگر و passگذرواژه را به رمز دیگری تغییر دهید . همانطور که بعداً در آموزش به آن احتیاج خواهیم داشت ، نام و رمز کارگر را یادداشت کنید. نام کارگر را در لیست سازندگان تغییر دهید. با توجه به نیاز خود نام برنامه و URL پروژه را تغییر دهید.

URL Buildbot را localhostبه نام دامنه واقعی یا آدرس IP عمومی خود تغییر دهید. همچنین ، تأیید کنید که اطلاعات دیتابیس در پرونده پیکربندی با اعتبار واقعی پایگاه داده شما مطابقت دارد.

در پایان پرونده ، اضافه کنید c['buildbotNetUsageData'] = None. این پارامتر ارسال اطلاعات نسخه نرم افزار و جزئیات استفاده از افزونه را به توسعه دهندگان غیرفعال می کند. با این حال ، برای فعال کردن ارسال اطلاعات استفاده ، گزینه را تغییر دهید Full.

پیکربندی باید مانند متن زیر باشد.

c['workers'] = [worker.Worker("localhost-worker", "Password123")]
...    

c['builders'].append(
    util.BuilderConfig(name="runtests",
      workernames=["localhost-worker"],
      factory=factory))
...

c['title'] = "My Application CI"
c['titleURL'] = "https://example.com/my-app"
...

c['buildbotURL'] = "http://192.168.1.1:8010/"
...

c['db'] = {
    'db_url' : "postgresql://bb_user:DBpassword@localhost/buildbot",
}
...

c['buildbotNetUsageData'] = None

پرونده را ذخیره کرده و از ویرایشگر خارج شوید. فایل پیکربندی را برای خطاها بررسی کنید.

buildbot checkconfig ~/master

اگر پرونده پیکربندی خطایی نداشته باشد ، خروجی زیر را مشاهده خواهید کرد.

[buildbot@vultr ~]$ buildbot checkconfig ~/master
Config file is good!

اکنون که همه چیز به درستی پیکربندی شده است ، می توانید استاد Buildbot را شروع کنید.

buildbot start ~/master

خروجی زیر را مشاهده خواهید کرد.

[buildbot@vultr ~]$ buildbot start ~/master
Following twistd.log until startup finished..
The buildmaster appears to have (re)started correctly.

اکنون که استاد Buildbot به درستی شروع شده است ، رابط کاربری وب در دسترس است http://192.168.1.1:8010. باید رابط Buildbot زیر را ببینید.

نحوه نصب و پیکربندی Buildbot در CentOS 7

پیکربندی Buildbot Worker

از آنجا که قبلاً پیکربندی کارگر را تغییر داده ~/master/master.cfgایم ، می توانیم کارگر جدیدی را ایجاد کنیم.

buildbot-worker create-worker ~/worker localhost localhost-worker Password123

اطمینان حاصل کنید که از همان نام کاربری و رمزعبور همانطور که در ~/master/master.cfgپرونده ذکر شده است استفاده می کنید. در صورت عدم تطابق نام کارگر یا رمز عبور ، کارگر قادر به اتصال به استاد Buildbot نخواهد بود. خروجی زیر را بعد از اجرای موفق مشاهده خواهید کرد.

[buildbot@vultr ~]$ buildbot-worker create-worker ~/worker localhost example-worker pass
mkdir /home/buildbot/worker
mkdir /home/buildbot/worker/info
Creating info/admin, you need to edit it appropriately.
Creating info/host, you need to edit it appropriately.
Not creating info/access_uri - add it if you wish
Please edit the files in /home/buildbot/worker/info appropriately.
worker configured in /home/buildbot/worker

اطلاعات مربوط به کارگر در /infoدایرکتوری ذخیره می شود . اطلاعات اداری مربوط به توسعه دهنده را ویرایش کنید.

nano ~/worker/info/admin

نام مثال را با نام و ایمیل واقعی خود جایگزین کنید.

Your Name <[email protected]>

اکنون پرونده حاوی اطلاعات مربوط به میزبان را باز کنید.

nano ~/worker/info/host

دستورالعمل مثال را با اطلاعات واقعی در مورد سیستم میزبان جایگزین کنید.

Localhost, CentOS 7

اطلاعات سرپرست و میزبان کارگر فقط برای گفتن کاربران در مورد سیستم استفاده می شود. همچنین می توانید اطلاعات دیگری در مورد سیستم مانند نسخه Buildbot و نسخه Twisted اضافه کنید.

کارگر را شروع کنید.

buildbot-worker start ~/worker

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

[buildbot@vultr ~]$ buildbot-worker start ~/worker
Following twistd.log until startup finished..
The buildbot-worker appears to have (re)started correctly.

برای بررسی اینکه آیا کارگر ثبت نام کرده است ، به رابط وب Buildbot بروید و Builds >> Workersاز ناوبری سمت چپ حرکت کنید. باید دید که کارگر آماده و آماده ساخت است.

نحوه نصب و پیکربندی Buildbot در CentOS 7

برای اجرای نمونه ساخت ، برای بررسی اینکه کارگر Buildbot با موفقیت در حال اجرا است ، به مسیر حرکت کنید Builds >> Builders. بر روی runtestsنام سازنده کلیک کنید تا رابط کاربری سازنده باز شود و بر روی Forceدکمه کلیک کنید تا اجباری ایجاد شود. نام خود را تهیه کرده و بر روی Start Buildدکمه کلیک کنید تا ساخت شروع شود. از آنجایی که این یک آزمایش ساخت نمونه برای بررسی محیط Buildbot است ، طی چند ثانیه به پایان می رسد. شما یک پیام موفقیت آمیز و نتیجه ساخت خواهید گرفت.

نحوه نصب و پیکربندی Buildbot در CentOS 7

راه‌اندازی سرویس Systemd

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

توجه: تغییر به sudoکاربران دیگر توسط در حال اجرا یا exitیا su <username>. از این پس تمام دستورات باید توسط sudoکاربر اجرا شود .

سرویس در حال اجرا و کارشناسی ارشد Buildbot را متوقف کنید.

sudo su buildbot -c "buildbot stop /home/buildbot/master" 
sudo su buildbot -c "buildbot-worker stop ~/worker"

یک فایل واحد Systemd جدید برای استاد Buildbot ایجاد کنید.

sudo nano /etc/systemd/system/buildbot.service

پرونده را جمع کنید.

[Unit]
Description=BuildBot master service 
After=network.target

[Service]
Type=forking
User=buildbot 
Group=buildbot 
WorkingDirectory=/home/buildbot/master 
ExecStart=/usr/bin/buildbot start
ExecStop=/usr/bin/buildbot stop
ExecReload=/usr/bin/buildbot restart

[Install]
WantedBy=multi-user.target

استاد Buildbot را شروع کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود.

sudo systemctl start buildbot
sudo systemctl enable buildbot

یک فایل واحد Systemd جدید برای کارگر Buildbot ایجاد کنید.

sudo nano /etc/systemd/system/buildbot-worker.service

پرونده را جمع کنید.

[Unit]
Description=BuildBot worker service
After=network.target

[Service]
Type=forking
User=buildbot
Group=buildbot
WorkingDirectory=/home/buildbot/worker
ExecStart=/usr/bin/buildbot-worker start
ExecStop=/usr/bin/buildbot-worker stop
ExecReload=/usr/bin/buildbot-worker restart

[Install]
WantedBy=multi-user.target

کارگر Buildbot را شروع کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود.

sudo systemctl start buildbot-worker
sudo systemctl enable buildbot-worker

می توانید وضعیت خدمات را بررسی کنید.

sudo systemctl status buildbot buildbot-worker

اگر خدمات به طور روان اجرا شوند ، در خروجی آن را مشاهده خواهید کرد.

[user@vultr ~]$ sudo systemctl status buildbot buildbot-worker
● buildbot.service - BuildBot master service
...
Active: active (running) since Fri 2018-01-12 16:00:59 UTC; 1min 25s ago
...
Jan 12 16:00:59 vultr.guest systemd[1]: Started BuildBot master service.

● buildbot-worker.service - BuildBot worker service
...
Active: active (running) since Fri 2018-01-12 16:02:00 UTC; 24s ago
...
Jan 12 16:02:00 vultr.guest systemd[1]: Started BuildBot worker service.

فعال کردن احراز هویت

به طور پیش فرض ، احراز هویت در رابط وب Buildbot فعال نمی شود. برای سایت های رو به اینترنت ، تنظیم هویت به شدت توصیه می شود تا فقط کاربران مجاز بتوانند توانایی انجام کارهای اداری را داشته باشند. برای تنظیم اعتبار ، فایل پیکربندی استاد Buildbot را مجدداً باز کنید.

sudo su buildbot -c "nano /home/buildbot/master/master.cfg"

خط های زیر را به انتهای پرونده اضافه کنید.

c['www']['authz'] = util.Authz(
       allowRules = [
           util.AnyEndpointMatcher(role="admins")
       ],
       roleMatchers = [
           util.RolesFromUsername(roles=['admins'], usernames=['admin_user'])
       ]
)
c['www']['auth'] = util.UserPasswordAuth({'admin_user': 'AdminPassword'})

هر دو مورد را admin_userبا نام کاربری واقعی که می خواهید استفاده کنید و AdminPasswordبا یک رمزعبور قوی جایگزین کنید .

خطاهای موجود در پرونده پیکربندی را بررسی کنید.

sudo su buildbot -c "buildbot checkconfig /home/buildbot/master"

سرویس اصلی Buildbot را مجدداً راه اندازی کنید تا این تغییرات موثر واقع شوند.

sudo systemctl restart buildbot

دوباره رابط وب را مرور کنید تا ببینید کاربران ناشناس فقط می توانند جزئیات اصلی در مورد سرور ساخت را مشاهده کنند. اکنون با استفاده از اعتبارنامه های تعیین شده در master.cfgپرونده وارد شوید و خواهید دید که تمام عملکردهای اداری دیگر فقط در اختیار کاربر سرپرست وارد شده است.

ایمن سازی Buildbot با Letry Encrypt SSL

به طور پیش فرض ، Buildbot 8010در اتصال به اتصالات نا امن به درگاه گوش می دهد . HTTPSبرای اطمینان از عدم امنیت داده ها هنگام انتقال از مرورگر به سرور ، امنیت رابط وب با استفاده از آن توصیه می شود. در این بخش از آموزش ، Nginx را با Letts Encrypt free SSL گواهینامه ها نصب و ایمن خواهیم کرد. وب سرور Nginx به عنوان یک پروکسی معکوس برای ارسال درخواست های ورودی به نقطه پایانی HTTP Buildbot کار خواهد کرد.

Nginx را نصب کنید.

sudo yum -y install nginx

Nginx را شروع کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود.

sudo systemctl start nginx
sudo systemctl enable nginx

Certbot را نصب کنید ، که برنامه مشتری برای Let Encrypt CA است.

sudo yum -y install certbot

قبل از اینکه شما می توانید گواهینامه های درخواست، شما نیاز به اجازه پورت 80و 443یا استاندارد HTTPو HTTPSخدمات از طریق فایروال. همچنین پورت را 8010که به اتصالات نا امن گوش می دهد ، حذف کنید .

sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --zone=public --remove-port=8010/tcp --permanent
sudo firewall-cmd --reload

توجه: برای به دست آوردن گواهینامه ها از Let Encrypt CA ، دامنه تولید شده برای صدور گواهینامه ها باید به سمت سرور هدایت شود. در این صورت ، تغییرات لازم را در سوابق DNS دامنه ایجاد کرده و منتظر انتشار DNS قبل از درخواست مجوز مجدد باشید. Certbot قبل از ارائه گواهینامه ها ، دامنه را بررسی می کند.

صدور گواهینامه SSL را ایجاد کنید.

sudo certbot certonly --webroot -w /usr/share/nginx/html -d ci.example.com

گواهینامه های تولید شده احتمالاً در /etc/letsencrypt/live/ci.example.com/دایرکتوری ذخیره می شوند . گواهینامه SSL ذخیره می شود fullchain.pemو کلید خصوصی نیز به عنوان ذخیره می شود privkey.pem.

بیایید مجوزهای رمزگذاری در مدت 90 روز منقضی شوند ، از این رو توصیه می شود با استفاده از مشاغل Cron ، تمدید خودکار گواهینامه ها را تنظیم کنید.

پرونده کار cron را برای rootکاربر باز کنید.

sudo crontab -e

در انتهای پرونده خط زیر را اضافه کنید.

30 5 * * * /usr/bin/certbot renew --quiet

کار cron فوق هر روز در 5:30 دقیقه صبح انجام می شود. اگر گواهی برای انقضا موقت باشد ، به طور خودکار آنها را تمدید می کند.

اکنون پرونده پیکربندی پیش فرض Nginx را تغییر دهید تا default_serverخط خارج شود .

sudo sed -i 's/default_server//g' /etc/nginx/nginx.conf

یک فایل پیکربندی جدید برای رابط وب Buildbot ایجاد کنید.

sudo nano /etc/nginx/conf.d/buildbot.conf

پرونده را جمع کنید.

upstream buildbot {
server 127.0.0.1:8010;
}

server {
    listen 80 default_server;
    server_name ci.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl http2 default_server;
    server_name ci.example.com;

    root html;
    index index.html index.htm;

    ssl on;
    ssl_certificate         /etc/letsencrypt/live/ci.example.com/fullchain.pem;
    ssl_certificate_key     /etc/letsencrypt/live/ci.example.com/privkey.pem;

    ssl_session_cache      shared:SSL:10m;
    ssl_session_timeout  1440m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";

    access_log  /var/log/nginx/buildbot.access.log;

    proxy_set_header HOST $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto  $scheme;
    proxy_set_header X-Forwarded-Server  $host;
    proxy_set_header X-Forwarded-Host  $host;

    location / {
        proxy_pass http://buildbot;
    }
    location /sse/ {
        proxy_buffering off;
        proxy_pass http://buildbot/sse/;
    }
    location /ws {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://buildbot/ws;
        proxy_read_timeout 6000s;
    }
}

خطاهای موجود در پرونده پیکربندی جدید را بررسی کنید.

sudo nginx -t

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

[user@vultr ~]$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

اگر نوعی خطا دریافت کرده اید ، حتماً مسیر گواهی های SSL را دو برابر کنید. برای اجرای تغییر در تنظیمات ، سرور وب Nginx را مجدداً راه اندازی کنید.

sudo systemctl restart nginx

پرونده پیکربندی Buildmaster را باز کنید.

sudo su buildbot -c "nano /home/buildbot/master/master.cfg"

خط زیر را پیدا کنید.

c['buildbotURL'] = "http://192.168.1.1:8010/"

URL را مطابق با نام دامنه مورد استفاده خود تغییر دهید.

c['buildbotURL'] = "https://ci.example.com/"

سرویس کارشناسی ارشد Buildbot را مجدداً راه اندازی کنید.

sudo systemctl restart buildbot

اکنون می توانید به داشبورد Buildbot در دسترسی پیدا کنید https://ci.example.com. خواهید دید که اتصال به Buildbot اکنون با SSL ایمن شده است.

نحوه نصب و پیکربندی Buildbot در CentOS 7

با استفاده از اعتبارنامه سرپرست وارد شوید و اولین خط لوله خود را برای شروع ساختن برنامه خود اضافه کنید.



Leave a Comment

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

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

تنظیم RethinkDB Cluster On CentOS 7

تنظیم RethinkDB Cluster On CentOS 7

مقدمه RethinkDB یک پایگاه داده NoSQL است که داده ها را به عنوان اسناد JSON ذخیره می کند. این یک زبان پرس و جو بسیار بصری است و از ویژگی های آن معمولا در دسترس است

نحوه نصب نسخه باز Vtiger CRM در CentOS 7

نحوه نصب نسخه باز Vtiger CRM در CentOS 7

Vtiger CRM یک نرم افزار محبوب مدیریت ارتباط با مشتری است که می تواند به بنگاهها در رشد فروش ، ارائه خدمات به مشتری و افزایش سود کمک کند. من

نحوه نصب کاناپه CMS 2.0 بر روی یک VPS CentOS 7 LAMP

نحوه نصب کاناپه CMS 2.0 بر روی یک VPS CentOS 7 LAMP

با استفاده از یک سیستم متفاوت؟ Couch CMS یک سیستم مدیریت محتوای منبع ساده و انعطاف پذیر ، آزاد و منبع باز (CMS) است که به طراحان وب اجازه می دهد تا طراحی کنند.

نحوه نصب SonarQube در CentOS 7

نحوه نصب SonarQube در CentOS 7

با استفاده از یک سیستم متفاوت؟ SonarQube یک ابزار منبع باز برای توسعه سیستم با کیفیت است. در جاوا نوشته شده است و چندین پایگاه داده را پشتیبانی می کند. فراهم می کند

نصب Netdata در CentOS 7

نصب Netdata در CentOS 7

با استفاده از یک سیستم متفاوت؟ Netdata یک ستاره در حال افزایش در زمینه نظارت بر معیارهای سیستم در زمان واقعی است. در مقایسه با سایر ابزارهای مشابه ، Netdata:

نحوه فعال سازی پشتیبانی HTTP / 2 در DirectAdmin (CentOS)

نحوه فعال سازی پشتیبانی HTTP / 2 در DirectAdmin (CentOS)

HTTP / 2 جدیدترین نسخه پروتکل HTTP است که از SPDY مستقر است. توسعه آن توسط Google آغاز شده است و HTTP / 2 تا حد زیادی بر اساس پایگاه کد است

نحوه نصب سرور Starbound در CentOS 7

نحوه نصب سرور Starbound در CentOS 7

با استفاده از یک سیستم متفاوت؟ در این آموزش ، Ill در مورد نحوه راه اندازی یک سرور Starbound در CentOS 7 توضیح می دهد. پیش نیازها: شما باید این بازی را روی خود داشته باشید

یک سرور چند نفره SA-MP San Andreas را در CentOS 6 تنظیم کنید

یک سرور چند نفره SA-MP San Andreas را در CentOS 6 تنظیم کنید

به یکی دیگر از آموزش های Vultr خوش آمدید. در اینجا ، نحوه نصب و اجرای سرور SAMP را یاد خواهید گرفت. این راهنما برای CentOS 6 نوشته شده است. پیش نیازهای مورد نیاز شما

Elgg را روی CentOS 7 نصب کنید

Elgg را روی CentOS 7 نصب کنید

با استفاده از یک سیستم متفاوت؟ Elgg یک موتور شبکه ای منبع باز است که امکان ایجاد محیط های اجتماعی از جمله شبکه های اجتماعی دانشگاه را فراهم می کند

نحوه نصب سرور RStudio در CentOS 7

نحوه نصب سرور RStudio در CentOS 7

RStudio Server نسخه وب RStudio است که مجموعه ای از ابزارهایی است که برای تسهیل کار برنامه نویسی با استفاده از زبان برنامه نویسی R طراحی شده است. در سه

نصب Bolt CMS در CentOS 7

نصب Bolt CMS در CentOS 7

Bolt یک CMS منبع باز است که به زبان PHP نوشته شده است. کد منبع Bolts در GitHub میزبانی شده است. این راهنما نحوه نصب Bolt CMS را در CentOS 7 Vult تازه نشان می دهد

نحوه نصب Elasticsearch در سرور Vultr CentOS 7

نحوه نصب Elasticsearch در سرور Vultr CentOS 7

Elasticsearch یک موتور جستجوی کامل و متن تحلیلی متن کامل است. به لطف تطبیق پذیری ، مقیاس پذیری و سهولت استفاده ، Elasticsearch گسترده تر است

Kubernetes With Kubeadm را در CentOS 7 مستقر کنید

Kubernetes With Kubeadm را در CentOS 7 مستقر کنید

بررسی اجمالی این مقاله به شما کمک می کند تا در هر زمان خوشه ای از Kubernetes را جمع کنید و با kubeadm در حال اجرا باشید. در این راهنما از دو سرور استفاده می شود

راه اندازی Sails.js برای توسعه در CentOS 7

راه اندازی Sails.js برای توسعه در CentOS 7

با استفاده از یک سیستم متفاوت؟ مقدمه Sails.js یک چارچوب MVC ��رای Node.js است ، شبیه به Ruby on Rails. این امر برای ایجاد برنامه های مدرن ver

پیکربندی BGP با استفاده از Quagga در Vultr (CentOS 7)

پیکربندی BGP با استفاده از Quagga در Vultr (CentOS 7)

Vultrs عملکرد IP فضای شما را امکان پذیر می سازد تا آزادی بی سابقه ای در اختصاص منابع IP شخصی شما به سرورهای cloud Vultr داشته باشید. ما کلی

نحوه نصب PufferPanel (کنترل پنل کنکوری رایگان) در CentOS 7

نحوه نصب PufferPanel (کنترل پنل کنکوری رایگان) در CentOS 7

مقدمه در این آموزش ، PufferPanel را در Vultr VPS ما نصب کنید. PufferPanel یک پانل کنترل با منبع آزاد و بصورت رایگان برای مدیریت شما است

ابزارهای نظارت بهتر برای اوبونتو و CentOS

ابزارهای نظارت بهتر برای اوبونتو و CentOS

معرفی سیستم های لینوکس به طور پیش فرض مانند top ، df و du با ابزارهای نظارتی ارسال می شوند که به نظارت بر فرایندها و فضای دیسک کمک می کنند. با این حال ، اغلب اوقات ، آنها به صورت طاقت فرسا هستند

دستگاه های خود را با استفاده از LibreNMS در CentOS 7 نظارت کنید

دستگاه های خود را با استفاده از LibreNMS در CentOS 7 نظارت کنید

با استفاده از یک سیستم متفاوت؟ LibreNMS یک سیستم نظارت بر شبکه منبع باز کاملاً برجسته است. از SNMP برای به دست آوردن داده ها از دستگاه های مختلف استفاده می کند. یک نوع

نحوه نصب Gitea در CentOS 7

نحوه نصب Gitea در CentOS 7

با استفاده از یک سیستم متفاوت؟ Gitea یک منبع کنترل جایگزین متن باز و خود میزبان است که توسط Git ساخته شده است. Gitea در Golang نوشته شده و هست

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

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

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد