Ubuntu 16.04 Üzerinde GoCD Nasıl Kurulur ve Yapılandırılır

GoCD açık kaynaklı bir sürekli dağıtım ve otomasyon sistemidir. Paralel ve sıralı yürütmeyi kullanarak karmaşık iş akışlarını modellemenizi sağlar. Değer akışı haritası, karmaşık bir iş akışını kolayca görselleştirmenizi sağlar. GoCD, iki derlemeyi kolayca karşılaştırmanıza ve istediğiniz uygulamanın herhangi bir sürümünü dağıtmanıza olanak tanır. GoCD ekosistemi, GoCD sunucusu ve GoCD aracısından oluşur. GoCD, web tabanlı kullanıcı arabirimini çalıştırmak ve aracıya iş yönetmek ve sağlamak gibi her şeyi kontrol etmekten sorumludur. Go aracıları işleri ve dağıtımları yürütmekten sorumludur.

Ön şartlar

  • En az 2GB RAM'e sahip bir Vultr Ubuntu 16.04 sunucu örneği.
  • Bir sudo kullanıcısı .
  • Bir alan adı sunucuya işaret etti.

Bu eğitimde, 192.168.1.1genel IP adresi ve gocd.example.com Vultr örneğine işaret eden alan adı olarak kullanacağız. Lütfen örnek alan adının ve IP adresinin tüm tekrarlarını gerçek adla değiştirdiğinizden emin olun.

Ubuntu 16.04 Güncelleme kılavuzunu kullanarak temel sisteminizi güncelleyin . Sisteminiz güncellendiğinde, Java'yı yüklemeye devam edin.

Java'yı yükleyin

GoCD, Java sürüm 8 gerektirir ve hem Oracle Java hem de OpenJDK'yı destekler. Oracle Java 8 için Ubuntu deposunu ekleyin.

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

Oracle Java'yı yükleyin.

sudo apt -y install oracle-java8-installer

Versiyonu kontrol et.

java -version

Aşağıdaki çıktıyı göreceksiniz.

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)

Aşağıdaki paketi yükleyerek Java için varsayılan yolu ayarlayın.

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

Koşarak JAVA_HOMEayarlanıp ayarlanmadığını doğrulayabilirsiniz .

echo $JAVA_HOME

Göreceksin.

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

Hiç çıktı görmüyorsanız, geçerli kabuktan çıkış yapmanız ve tekrar oturum açmanız gerekir.

GoCD'yi yükleyin

GoCD'nin resmi deposunu sisteme yükleyin.

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 sunucusunu sisteminize kurun.

sudo apt install -y go-server

GoCD'yi başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.

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

GoCD kontrol paneline erişmeden önce, eserleri saklamak için yeni bir dizin oluşturalım. Artefaktlar, işletim sisteminin ve uygulamaların kurulu olduğu aynı diskte saklanabilir. Alternatif olarak, yapay nesneleri saklamak için özel bir disk veya blok depolama sürücüsü kullanabilirsiniz.

Artefaktları saklamak için aynı diski kullanmak istiyorsanız, yeni bir dizin oluşturun ve GoCD kullanıcısına sahiplik sağlayın.

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

Blok Depolamayı Yapılandırma

GoCD yazılımı, nesneleri saklamak için ek bir bölüm veya sürücü kullanmanızı önerir. Sürekli bir entegrasyon ve dağıtım platformunda, artefaktlar çok sık üretilir. Sürekli yeni nesneler üretildiğinde disk alanı zamanla azalır. Bir aşamada, sisteminizde boş disk alanı kalmayacak ve sisteminizde çalışan hizmetler başarısız olacaktır. Bu sorunun üstesinden gelmek için, yapay nesneleri saklamak üzere yeni bir Vultr blok depolama sürücüsü takabilirsiniz . Hala aynı sürücüde artefaktların depolanmasına devam etmek istiyorsanız, "GoCD'yi Yapılandır" bölümüne atlayın.

Yeni bir blok depolama sürücüsü dağıtın ve bu sürücüyü GoCD sunucusu örneğinize ekleyin. Şimdi blok depolama cihazında yeni bir bölüm oluşturun.

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

Dosya sistemini yeni diskte oluşturun.

sudo mkfs.ext4 /dev/vdb1

Blok depolama sürücüsünü takın.

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

Şimdi çalıştırın dfve yeni blok depolama sürücüsünün takılı olduğunu göreceksiniz /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 kullanıcısına dizinin sahipliğini sağlayın.

sudo chown -R go:go /mnt/artifacts

GoCD'yi yapılandırın

Artık GoCD kontrol paneline erişebilirsiniz http://192.168.1.1:8153. Güvenli bir bağlantıda GoCD kontrol paneline erişmek için erişin https://192.168.1.1:8154. Sertifikaların geçerli olmadığını gösteren bir hata mesajı alırsınız. Sertifikalar kendinden imzalı olduğu için hatayı güvenle yok sayabilirsiniz. Güvenlik nedeniyle, kontrol panelini her zaman güvenli bir bağlantı üzerinden kullanmalısınız.

Yeni bir kanal oluşturmadan önce Admin >> Server Configuration, üst gezinme çubuğundan " " seçeneğine gidin .

URL'yi " Site URL" alanındaki güvenli olmayan sitenize ve " " alanına güvenli siteye girin Secure Site URL.

Ubuntu 16.04 Üzerinde GoCD Nasıl Kurulur ve Yapılandırılır

Ardından, GoCD'den e-posta bildirimleri göndermek için SMTP sunucusu ayrıntılarınızı sağlayın.

Ubuntu 16.04 Üzerinde GoCD Nasıl Kurulur ve Yapılandırılır

Son olarak, eserleri saklamak istediğiniz konumun yolunu belirtin. Yapay nesneleri işletim sistemiyle aynı diskte depolamayı seçtiyseniz /opt/artifacts; bir blok depolama sürücüsü takmayı seçtiyseniz, girebilirsiniz /mnt/artifacts.

GoCD'yi eski eserleri otomatik olarak silecek şekilde de yapılandırabilirsiniz. Bir sonraki seçeneği disk boyutunuza göre yapılandırın. Ancak, otomatik silme seçeneği eski eserlerinizin yedeğini almaz. Manuel olarak yedek almak ve ardından eski eserleri silmek için, " Never" seçeneği için " " seçeneğini belirleyerek otomatik silme özelliğini devre dışı bırakın Auto delete old artifacts.

Ubuntu 16.04 Üzerinde GoCD Nasıl Kurulur ve Yapılandırılır

Yeni değişikliklerin uygulanması için GoCD sunucusunu yeniden başlatmanız gerekir.

sudo systemctl restart go-server

Kurulum Kimlik Doğrulaması

Varsayılan olarak, GoCD kontrol paneli herhangi bir kimlik doğrulama kullanacak şekilde yapılandırılmamıştır, ancak bir şifre dosyası ve LDAP kullanarak kimlik doğrulamayı destekler. Bu öğreticide, parola tabanlı kimlik doğrulaması ayarlayacağız.

Not : Kimlik doğrulamayı ayarlamak isteğe bağlı bir adımdır, ancak Vultr gibi herkese açık sunucular için şiddetle önerilir.

htpasswd Şifrelenmiş bir şifre dosyası oluşturmak için komutu kullanabilmemiz için Apache araçlarını yükleyin .

sudo apt -y install apache2-utils

htpasswd Bcrypt şifrelemesini kullanarak komutla bir şifre dosyası oluşturun .

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

Kullanıcı için parolayı iki kez girin. Aşağıdaki çıktıyı göreceksiniz.

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

Yukarıdaki aynı komutu kullanarak istediğiniz sayıda kullanıcı ekleyebilirsiniz, ancak -c seçeneği kaldırın . Bu -c seçenek, eski dosyayı yeni kullanıcıyla değiştirerek mevcut dosyayı değiştirir.

sudo htpasswd -B /etc/go/passwd_auth gouser1

Şimdi şifre dosyasını oluşturduk, GoCD kontrol paneline tekrar erişin. Admin >> Security >> Authorization ConfigurationsÜst gezinme çubuğundan " " öğesine gidin . Tıklayın Add düğme ile herhangi bir kimlik sağlar. Password File Authentication Plugin for GoCDEklenti kimliği için " " seçin ve yolu şifre dosyasına yönlendirin. Şimdi Check ConnectionGoCD'nin kimlik doğrulama için şifre dosyasını kullanabildiğini doğrulamak için " " düğmesini tıklayın.

Ubuntu 16.04 Üzerinde GoCD Nasıl Kurulur ve Yapılandırılır

Son olarak, kimlik doğrulama yöntemini kaydedin. Gösterge tablosunu yeniden yükleyin, otomatik olarak oturumunuzu kapatır. Şimdi bir giriş ekranı göreceksiniz. Daha önce oluşturulan kimlik bilgilerini kullanarak giriş yapın.

Yönetici kullanıcıyı manuel olarak tanıtmanız gerekir, aksi takdirde tüm kullanıcıların yönetici ayrıcalıkları olacaktır. Admin >> User SummaryÜst gezinme çubuğundan " " öğesine gidin .

Şimdi oluşturduğunuz yönetici kullanıcısını seçin ve " Roles" açılır menüsünü tıklayın . " Go System Administrator" Onay kutusunu seçerek kullanıcıyı tek yöneticiye tanıtın .

Ubuntu 16.04 Üzerinde GoCD Nasıl Kurulur ve Yapılandırılır

Şifre dosyasında oluşturulan GoCD'deki kullanıcıları eklemek için " ADD" düğmesine tıklayın ve kullanıcıyı eklemek üzere arayın. Kullanıcılar ayrıca ilk girişlerinde GoCD kontrol paneline otomatik olarak eklenir. Açıkçası, kullanıcıların giriş yapabilmesi için, daha önce oluşturduğumuz şifre dosyasına eklenmesi gerekir.

SSL'yi Şifreleyelim ile GoCD'yi Güvenli Hale Getirme

Varsayılan olarak, GoCD bağlantı noktalarını 8153 ve 8154 güvenli bağlantıları dinler . Bağlantı noktası 8154 uygulamaya güvenli bir bağlantı sağlasa da, kendinden imzalı bir sertifika kullandığından tarayıcı hatalarını da görüntüler. Eğiticinin bu bölümünde Nginx'i Let's Encrypt ücretsiz SSL sertifikası ile kuracağız ve güvence altına alacağız. Nginx web sunucusu, gelen istekleri GoCD'nin HTTP uç noktasına iletmek için ters proxy olarak çalışacaktır .

Nginx'i yükleyin.

sudo apt -y install nginx

Nginx'i başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.

sudo systemctl start nginx
sudo systemctl enable nginx

Certbot deposunu ekleyin.

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

Let's Encrypt CA'nın istemci uygulaması olan Certbot'u yükleyin.

sudo apt -y install certbot

Not : Let's Encrypt CA'dan sertifika almak için, sertifikaların oluşturulacağı etki alanı sunucuya yönlendirilmelidir. Değilse, etki alanının DNS kayıtlarında gerekli değişiklikleri yapın ve sertifika isteğini yeniden yapmadan önce DNS'nin yayılmasını bekleyin. Certbot, sertifikaları vermeden önce etki alanı yetkilisini denetler.

SSL sertifikaları oluşturun.

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

Oluşturulan sertifikaların depolanması muhtemeldir /etc/letsencrypt/live/gocd.example.com/. SSL sertifikası olarak fullchain.pem ve özel anahtar olarak depolanacaktır privkey.pem.

Sertifikaların şifrelenmesini 90 gün içinde sona erdirelim, bu nedenle cron işlerini kullanarak sertifikaların otomatik yenilenmesini ayarlamanız önerilir.

Cron iş dosyasını açın.

sudo crontab -e

Aşağıdaki satırı dosyanın sonuna ekleyin.

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

Yukarıdaki cron işi her gün 05: 30'da çalışacaktır. Sertifikanın geçerlilik süresi dolmuşsa, otomatik olarak yenilenir.

GoCD web arayüzü için yeni bir yapılandırma dosyası oluşturun.

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

Dosyayı doldurun.

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;
    }
  }

Yapılandırma dosyasını etkinleştirin.

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

Yapılandırma değişikliğini uygulamak için Nginx web sunucusunu yeniden başlatın.

sudo systemctl restart nginx

Artık adresinden GoCD kontrol paneline erişebilirsiniz https://gocd.example.com. Yönetici kimlik bilgilerini kullanarak kontrol panelinize giriş yapın Admin >> Server Configurationve üst gezinme çubuğundan " " seçeneğine gidin .

Ubuntu 16.04 Üzerinde GoCD Nasıl Kurulur ve Yapılandırılır

" Site URL" Ve " Secure Site URL" öğelerini ayarlayın https://gocd.example.com.

GoCD Agent'ı Yükleme

GoCD sürekli entegrasyon ortamında, GoCD temsilcileri tüm görevlerin yerine getirilmesinden sorumlu çalışanlardır. Kaynakta bir değişiklik tespit edildiğinde, boru hattı tetiklenir ve işler yürütülmek üzere mevcut işçilere atanır. Aracı daha sonra görevi yürütür ve yürütmeden sonra son durumu bildirir.

Bir boru hattını çalıştırmak için en az bir ajanın yapılandırılması gerekir. GoCD aracısını GoCD sunucusuna kurmaya devam edin.

GoCD deposunu sunucuya zaten içe aktardığımızdan, Go Agent'ı doğrudan yükleyebiliriz.

sudo apt install -y go-agent

Şimdi GoCD sunucusunu başlatın ve önyükleme zamanında otomatik olarak başlamasını sağlayın.

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

Yerel ana bilgisayarda çalışan GoCD aracısı algılandığında otomatik olarak etkinleştirilir.



Leave a Comment

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun