نحوه نصب و پیکربندی GoCD در اوبونتو 16.04

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

پیش نیازها

  • نمونه سرور Vultr Ubuntu 16.04 با حداقل 2 GB RAM.
  • کاربران از sudo .
  • نام دامنه به سمت سرور نشان داده شده است.

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

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

جاوا را نصب کنید

GoCD به نسخه 8 جاوا نیاز دارد و از Oracle Java و OpenJDK پشتیبانی می کند. مخزن اوبونتو را برای Oracle Java 8 اضافه کنید.

sudo add-apt-repository --yes ppa:webupd8team/java
sudo apt update

Oracle Java را نصب کنید.

sudo apt -y install oracle-java8-installer

نسخه را بررسی کنید.

java -version

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

user@vultr:~$ java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

با نصب بسته زیر مسیر پیش فرض را برای Java تنظیم کنید.

sudo apt -y install oracle-java8-set-default

می توانید تأیید کنید که آیا JAVA_HOMEبا اجرای آن تنظیم شده است یا خیر .

echo $JAVA_HOME

خواهید دید

user@vultr:~$ echo $JAVA_HOME
/usr/lib/jvm/java-8-oracle

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

GoCD را نصب کنید

مخزن رسمی GoCD را در سیستم نصب کنید.

echo "deb https://download.gocd.org /" | sudo tee /etc/apt/sources.list.d/gocd.list
curl https://download.gocd.org/GOCD-GPG-KEY.asc | sudo apt-key add -
sudo apt update

سرور GoCD را در سیستم خود نصب کنید.

sudo apt install -y go-server

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

sudo systemctl start go-server
sudo systemctl enable go-server

قبل از دسترسی به داشبورد GoCD ، اجازه دهید یک فهرست جدید برای ذخیره آثار باستانی ایجاد کنیم. مصنوعات را می توان در همان دیسک که سیستم عامل و برنامه های کاربردی در آن نصب شده اند ، ذخیره کرد. از طرف دیگر ، می توانید از یک دیسک اختصاصی یا درایو ذخیره سازی بلوک برای ذخیره سازی مصنوعات استفاده کنید.

اگر مایل به استفاده از همان دیسک برای ذخیره سازی آثار هستید ، فقط یک فهرست جدید ایجاد کنید و مالکیت آن را در اختیار کاربر GoCD قرار دهید.

sudo mkdir /opt/artifacts
sudo chown -R go:go /opt/artifacts

پیکربندی ذخیره سازی بلوک

نرم افزار GoCD به شما توصیه می کند از یک پارتیشن اضافی یا درایو برای ذخیره سازی مصنوعات استفاده کنید. در یک سکوی مداوم و ادغام مداوم ، مصنوعات اغلب تولید می شوند. وقتی پیکره های جدید به طور مداوم تولید می شوند ، فضای دیسک با گذشت زمان کاهش می یابد. در برخی از مرحله ، سیستم شما از فضای دیسک رایگان خاتمه می یابد و سرویس های در حال اجرا بر روی سیستم شما خراب می شوند. برای غلبه بر این مشکل ، می توانید یک درایو ذخیره سازی بلوک Vultr جدید برای ذخیره سازی مصنوعات وصل کنید. اگر هنوز هم می خواهید با ذخیره سازی مصنوعات در همان درایو بروید ، به بخش "پیکربندی GoCD" بروید.

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

sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 100%

سیستم فایل را روی دیسک جدید ایجاد کنید.

sudo mkfs.ext4 /dev/vdb1

درایو ذخیره بلوک را سوار کنید.

sudo mkdir /mnt/artifacts
sudo cp /etc/fstab /etc/fstab.backup
echo "
/dev/vdb1 /mnt/artifacts ext4 defaults,noatime 0 0" | sudo tee -a /etc/fstab
sudo mount /mnt/artifacts

اکنون ، اجرا کنید dfو خواهید دید که درایو ذخیره سازی بلوک جدید نصب شده است /mnt/artifacts.

[user@vultr ~]$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/vda1       20616252 6313892  13237464  33% /

...
/dev/vdb1       10188052   36888   9610596   1% /mnt/artifacts

مالکیت دایرکتوری را به کاربر GoCD ارائه دهید.

sudo chown -R go:go /mnt/artifacts

GoCD را پیکربندی کنید

اکنون می توانید به داشبورد GoCD روشن شوید http://192.168.1.1:8153. برای دسترسی به داشبورد GoCD در یک اتصال امن ، به دسترسی داشته باشید https://192.168.1.1:8154. شما خطایی را نشان می دهید که گواهینامه ها معتبر نیستند. با اطمینان می توانید خطا را نادیده بگیرید زیرا گواهینامه ها با خود امضا می شوند. برای اهداف امنیتی ، شما همیشه باید از داشبورد بر روی یک اتصال امن استفاده کنید.

قبل از راه اندازی خط لوله جدید ، Admin >> Server Configurationاز نوار پیمایش بالا به " " بروید.

در قسمت " Site URL" و در سایت امن در قسمت " Secure Site URL" آدرس اینترنتی را به سایت نا امن خود وارد کنید .

نحوه نصب و پیکربندی GoCD در اوبونتو 16.04

در مرحله بعدی ، اطلاعات سرور SMTP خود را برای ارسال اعلان های ایمیل از GoCD ارائه دهید.

نحوه نصب و پیکربندی GoCD در اوبونتو 16.04

سرانجام ، مسیر مکانی را که مایل به ذخیره سازی آثار باستانی هستید ، تهیه کنید. اگر انتخاب کرده اید تا آثار مشابه را بر روی همان دیسک مانند سیستم عامل ذخیره کنید ، وارد کنید /opt/artifacts. اگر انتخاب کرده اید که یک درایو ذخیره بلوک وصل کنید ، می توانید وارد کنید /mnt/artifacts.

همچنین می توانید GoCD را برای حذف خودکار مصنوعات قدیمی پیکربندی کنید. گزینه بعدی را با توجه به اندازه دیسک خود پیکربندی کنید. با این حال ، گزینه حذف خودکار ، نسخه پشتیبان از آثار قدیمی شما را ندارد. برای تهیه بکاپ دستی و سپس حذف مصنوعات قدیمی ، حذف خودکار را با انتخاب Neverگزینه "" برای گزینه "" غیرفعال Auto delete old artifactsکنید.

نحوه نصب و پیکربندی GoCD در اوبونتو 16.04

شما باید سرور GoCD را مجدداً راه اندازی کنید تا تغییرات جدید اعمال شود.

sudo systemctl restart go-server

تأیید تأیید راه‌اندازی

به طور پیش فرض ، داشبورد GoCD برای استفاده از هر نوع تأیید صحت تنظیم نشده است ، اما از تأیید اعتبار با استفاده از یک فایل رمز عبور و LDAP پشتیبانی می کند. در این آموزش احراز هویت مبتنی بر رمز عبور را تنظیم خواهیم کرد.

توجه : تنظیم احراز هویت یک مرحله اختیاری است ، اما اکیداً برای سرورهای روبرو عمومی مانند Vultr توصیه می شود.

ابزارهای Apache را نصب کنید تا بتوانیم از این htpasswd دستور برای ایجاد یک فایل رمزعبور رمزگذاری شده استفاده کنیم.

sudo apt -y install apache2-utils

با htpasswd استفاده از رمزگذاری Bcrypt ، یک فایل رمز عبور را با دستور ایجاد کنید.

sudo htpasswd -B -c /etc/go/passwd_auth goadmin

رمز عبور را دو بار در اختیار کاربر قرار دهید. خروجی زیر را مشاهده خواهید کرد.

[user@vultr ~]$ sudo htpasswd -B -c /etc/go/passwd_auth goadmin
New password:
Re-type new password:
Adding password for user goadmin

می توانید با استفاده از همان دستور فوق ، تعداد کاربران زیادی را اضافه کنید ، اما -c گزینه را حذف کنید. این -c گزینه جایگزین پرونده های موجود می شود و کاربران قدیمی را با کاربر جدید جایگزین می کند.

sudo htpasswd -B /etc/go/passwd_auth gouser1

اکنون که پرونده رمز عبور را ایجاد کردیم ، دوباره به داشبورد GoCD دسترسی پیدا کنید. Admin >> Security >> Authorization Configurationsاز نوار پیمایش بالا به " " بروید. بر روی Add دکمه کلیک کنید و هر شناسه را ارائه دهید. Password File Authentication Plugin for GoCDبرای شناسه افزونه " " انتخاب کنید و مسیر را به پرونده رمز عبور هدایت کنید. اکنون بر روی Check Connectionدکمه "" کلیک کنید تا تأیید کنید که GoCD می تواند از فایل رمز عبور برای تأیید اعتبار استفاده کند.

نحوه نصب و پیکربندی GoCD در اوبونتو 16.04

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

شما باید کاربر سرور را به صورت دستی ارتقا دهید ، در غیر این صورت ، تمام کاربران از امتیازات سرپرست برخوردار خواهند بود. Admin >> User Summaryاز نوار پیمایش بالا به " " بروید.

اکنون کاربر سرپرستی را که ایجاد کرده اید انتخاب کرده و بر روی Rolesکشویی " " کلیک کنید . با انتخاب Go System Administratorکادر تأیید ، کاربر را به تنها سرپرست تبلیغ کنید.

نحوه نصب و پیکربندی GoCD در اوبونتو 16.04

برای افزودن کاربران در GoCD ایجاد شده در پرونده رمز عبور ، روی " ADD" کلیک کنید و کاربر را برای اضافه کردن آنها جستجو کنید. همچنین کاربران در اولین ورود خود به طور خودکار به داشبورد GoCD اضافه می شوند. بدیهی است برای ورود کاربران ، باید آنها را به پرونده رمز عبور که قبلاً ایجاد کرده ایم اضافه کنیم.

امنیت GoCD با Letry Encrypt SSL

به طور پیش فرض ، GoCD به درگاه ها 8153 و 8154 اتصالات ایمن گوش می دهد . اگرچه درگاه 8154 اتصال ایمن به برنامه را فراهم می کند ، در حالی که از گواهی خود امضا شده خطاهای مرورگر را نیز نمایش می دهد. در این بخش از آموزش ، Nginx را با گواهی Let Encrypt free SSL نصب و ایمن خواهیم کرد. وب سرور Nginx به عنوان یک پروکسی معکوس برای ارسال درخواست های ورودی به HTTP نقطه پایانی GoCD کار خواهد کرد.

Nginx را نصب کنید.

sudo apt -y install nginx

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

sudo systemctl start nginx
sudo systemctl enable nginx

مخزن Certbot را اضافه کنید.

sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update

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

sudo apt -y install certbot

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

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

sudo certbot certonly --webroot -w /var/www/html -d gocd.example.com

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

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

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

sudo crontab -e

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

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

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

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

sudo nano /etc/nginx/sites-available/gocd

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

upstream gocd {
server 127.0.0.1:8153;
}

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

server {
    listen 443;
    server_name gocd.example.com;

    ssl_certificate           /etc/letsencrypt/live/gocd.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/gocd.example.com/privkey.pem;

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

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

location / {
        proxy_pass http://gocd;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_redirect off;
    }
location /go {
    proxy_pass http://gocd/go;
    proxy_http_version 1.1;
    proxy_set_header Upgrade websocket;
    proxy_set_header Connection upgrade;
    proxy_read_timeout 86400;
    }
  }

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

sudo ln -s /etc/nginx/sites-available/gocd /etc/nginx/sites-enabled/gocd

برای اجرای تغییر در تنظیمات ، سرور وب Nginx را مجدداً راه اندازی کنید.

sudo systemctl restart nginx

اکنون می توانید به داشبورد GoCD در دسترسی پیدا کنید https://gocd.example.com. با استفاده از گواهینامه های سرپرست وارد داشبورد خود شوید و Admin >> Server Configurationاز نوار پیمایش بالا به " " بروید.

نحوه نصب و پیکربندی GoCD در اوبونتو 16.04

" Site URL" و " Secure Site URL" را بر روی تنظیم کنید https://gocd.example.com.

نصب عامل GoCD

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

برای اجرای خط لوله ، حداقل یک عامل باید پیکربندی شود. اقدام به نصب عامل GoCD در سرور GoCD کنید.

از آنجا که قبلاً مخزن GoCD را به سرور وارد کرده ایم ، می توانیم مستقیماً Go Agent را نصب کنیم.

sudo apt install -y go-agent

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

sudo systemctl start go-agent
sudo systemctl enable go-agent

عامل GoCD در حال اجرا در localhost هنگام شناسایی به طور خودکار فعال می شود.



Leave a Comment

نحوه نصب بستر سبد خرید 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 است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد