Cara Pasang dan Konfigurasikan GoCD pada Ubuntu 16.04

GoCD adalah sistem penyampaian dan automasi berterusan sumber terbuka. Ia membolehkan anda memodelkan aliran kerja yang kompleks dengan menggunakan pelaksanaannya selari dan berurutan. Peta aliran nilainya membolehkan anda dengan mudah memvisualisasikan aliran kerja yang kompleks dengan mudah. GoCD membolehkan anda membandingkan dengan mudah dua binaan dan menggunakan mana-mana versi aplikasi yang anda mahukan. Ekosistem GoCD terdiri daripada pelayan GoCD dan ejen GoCD. GoCD bertanggungjawab untuk mengawal segala-galanya seperti menjalankan antara muka pengguna berasaskan web dan mengurus dan menyediakan pekerjaan kepada ejen. Go agen bertanggungjawab untuk menjalankan pekerjaan dan penyebaran.

Prasyarat

  • Contoh pelayan Vultr Ubuntu 16.04 dengan sekurang-kurangnya 2GB RAM.
  • Pengguna sudo .
  • Nama domain menunjuk ke pelayan.

Untuk tutorial ini, kami akan menggunakan 192.168.1.1sebagai alamat IP awam dan gocd.example.com sebagai nama domain menunjuk ke arah Vultr. Sila pastikan untuk menggantikan semua contoh contoh nama domain dan alamat IP dengan yang sebenarnya.

Kemas kini sistem asas anda menggunakan panduan Cara Kemaskini Ubuntu 16.04 . Apabila sistem anda telah dikemas kini, teruskan untuk memasang Java.

Pasang Java

GoCD memerlukan Java versi 8 dan menyokong Oracle Java dan OpenJDK. Tambahkan repositori Ubuntu untuk Oracle Java 8.

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

Pasang Oracle Java.

sudo apt -y install oracle-java8-installer

Semak versi.

java -version

Anda akan melihat output berikut.

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)

Tetapkan jalan lalai untuk Java dengan memasang pakej berikut.

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

Anda boleh mengesahkan jika JAVA_HOMEditetapkan dengan berjalan.

echo $JAVA_HOME

Awak akan lihat.

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

Sekiranya anda tidak melihat output sama sekali, anda perlu keluar dari shell semasa dan log masuk semula.

Pasang GoCD

Pasang repositori rasmi GoCD ke dalam sistem.

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

Pasang pelayan GoCD dalam sistem anda.

sudo apt install -y go-server

Mulakan GoCD dan aktifkan secara automatik pada waktu boot.

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

Sebelum kami mengakses papan pemuka GoCD, mari buat direktori baru untuk menyimpan artifak tersebut. Artifak boleh disimpan pada cakera yang sama di mana sistem operasi dan aplikasi dipasang. Sebagai alternatif, anda boleh menggunakan cakera khusus atau menyekat pemacu penyimpanan untuk menyimpan artifak.

Sekiranya anda ingin menggunakan cakera yang sama untuk menyimpan artifak, cukup buat direktori baru dan berikan hak milik kepada pengguna GoCD.

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

Konfigurasikan Penyimpanan Blok

Perisian GoCD mengesyorkan bahawa anda menggunakan partition tambahan atau memandu untuk menyimpan artifak tersebut. Dalam integrasi dan platform penghantaran berterusan, artifak dihasilkan dengan kerap. Ruang cakera berkurang dari masa ke masa apabila artifak baru dihasilkan secara berterusan. Pada beberapa peringkat, sistem anda akan kehabisan ruang cakera kosong dan perkhidmatan yang berjalan pada sistem anda akan gagal. Untuk mengatasi masalah ini, anda boleh memasang pemacu penyimpanan blok Vultr baru untuk menyimpan artifak. Sekiranya anda masih ingin menyimpan artifak pada pemacu yang sama, lompat ke bahagian "Konfigurasi GoCD".

Terapkan pemacu penyimpanan blok baru dan pasangkannya ke instance pelayan GoCD anda. Sekarang buat partition baru pada peranti penyimpanan blok.

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

Buat sistem fail pada cakera baru.

sudo mkfs.ext4 /dev/vdb1

Pasang pemacu penyimpanan blok.

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

Sekarang, jalankan dfdan anda akan melihat pemacu storan blok yang baru dipasang /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

Berikan pemilikan direktori kepada pengguna GoCD.

sudo chown -R go:go /mnt/artifacts

Konfigurasikan GoCD

Kini anda boleh mengakses papan pemuka GoCD pada http://192.168.1.1:8153. Untuk mengakses papan pemuka GoCD pada sambungan yang selamat, akses https://192.168.1.1:8154. Anda akan mendapat ralat yang menunjukkan bahawa sijil tidak sah. Anda boleh mengabaikan ralat dengan selamat kerana sijil ditandatangani sendiri. Untuk tujuan keselamatan, anda harus selalu menggunakan papan pemuka melalui sambungan yang selamat.

Sebelum anda memasang saluran paip baru, arahkan ke " Admin >> Server Configuration" dari bar navigasi atas.

Masukkan URL ke tapak tidak selamat anda di medan " Site URL" dan tapak selamat di medan " Secure Site URL".

Cara Pasang dan Konfigurasikan GoCD pada Ubuntu 16.04

Seterusnya, berikan butiran pelayan SMTP anda untuk menghantar pemberitahuan e-mel dari GoCD.

Cara Pasang dan Konfigurasikan GoCD pada Ubuntu 16.04

Akhirnya, beri laluan ke lokasi di mana anda ingin menyimpan artifak tersebut. Jika anda telah memilih untuk menyimpan artifak pada cakera yang sama dengan sistem pengendalian, masukkan /opt/artifacts; jika anda memilih untuk melampirkan pemacu penyimpanan blok, maka anda boleh masuk /mnt/artifacts.

Anda juga boleh mengkonfigurasi GoCD untuk menghapuskan lama artifak lama. Konfigurasikan pilihan seterusnya mengikut saiz cakera anda. Walau bagaimanapun, pilihan auto-padam tidak mengambil sandaran artifak lama anda. Untuk secara manual mengambil sandaran dan kemudian padam artifak lama, matikan pemadaman automatik dengan memilih pilihan " Never" untuk pilihan " Auto delete old artifacts".

Cara Pasang dan Konfigurasikan GoCD pada Ubuntu 16.04

Anda perlu memulakan semula pelayan GoCD supaya perubahan baru digunakan.

sudo systemctl restart go-server

Tetapkan Pengesahan

Secara lalai, papan pemuka GoCD tidak dikonfigurasi untuk menggunakan apa-apa jenis pengesahan, tetapi ia menyokong pengesahan menggunakan fail kata laluan dan LDAP. Dalam tutorial ini, kami akan menyediakan pengesahan kata laluan.

Nota : Menyediakan pengesahan adalah langkah pilihan, tetapi sangat disyorkan untuk pelayan menghadap awam, seperti Vultr.

Pasang alat Apache supaya kita boleh menggunakan htpasswd arahan untuk membuat fail kata laluan yang disulitkan.

sudo apt -y install apache2-utils

Buat fail kata laluan dengan htpasswd arahan menggunakan penyulitan Bcrypt.

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

Sediakan kata laluan untuk pengguna dua kali. Anda akan melihat output berikut.

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

Anda boleh menambah seberapa banyak pengguna yang anda mahu menggunakan arahan yang sama di atas, tetapi alih keluar -c pilihan. The -c pilihan akan menggantikan fail sedia ada, menggantikan pengguna lama dengan pengguna baru.

sudo htpasswd -B /etc/go/passwd_auth gouser1

Setelah kita membuat fail kata laluan, akses papan pemuka GoCD sekali lagi. Navigasi ke " Admin >> Security >> Authorization Configurations" dari bar navigasi atas. Klik pada Add butang dan sediakan sebarang ID. Pilih " Password File Authentication Plugin for GoCD" untuk ID pemalam dan arahkan jalan ke fail kata laluan. Sekarang klik pada butang " Check Connection" untuk mengesahkan bahawa GoCD dapat menggunakan fail kata laluan untuk pengesahan.

Cara Pasang dan Konfigurasikan GoCD pada Ubuntu 16.04

Akhirnya, simpan kaedah pengesahan. Muat semula papan pemuka dan secara automatik log keluar anda. Anda akan melihat skrin log masuk sekarang. Log masuk menggunakan kelayakan yang dibuat sebelumnya.

Anda perlu mempromosikan pengguna pentadbir secara manual, jika tidak, semua pengguna akan mempunyai keistimewaan pentadbir. Navigasi ke " Admin >> User Summary" dari bar navigasi atas.

Sekarang pilih pengguna admin yang telah anda buat dan klik pada " Roles" drop-down. Promosikan pengguna kepada pentadbir sahaja dengan memilih kotak pilihan " Go System Administrator".

Cara Pasang dan Konfigurasikan GoCD pada Ubuntu 16.04

Untuk menambah pengguna dalam GoCD yang dibuat dalam fail kata laluan, klik pada butang " ADD" dan cari pengguna untuk menambahnya. Pengguna juga ditambah secara automatik ke papan pemuka GoCD pada log masuk pertama mereka. Jelas, untuk pengguna log masuk, mereka mesti ditambahkan ke fail kata laluan yang telah kita buat sebelumnya.

Mengamankan GoCD dengan Let's Encrypt SSL

Secara lalai, GoCD mendengar kepada port 8153 dan 8154 pada sambungan selamat. Walaupun port 8154 menyediakan sambungan selamat ke aplikasi, ia juga memaparkan kesilapan pelayar kerana ia menggunakan sijil ditandatangani sendiri. Di bahagian tutorial ini, kami akan memasang dan mengamankan Nginx dengan sijil SSL percuma Let's Encrypt. Pelayan web Nginx akan berfungsi sebagai proksi terbalik untuk meneruskan permintaan masuk ke HTTP titik akhir GoCD .

Pasang Nginx.

sudo apt -y install nginx

Mula Nginx dan aktifkannya secara automatik pada masa boot.

sudo systemctl start nginx
sudo systemctl enable nginx

Tambah repositori Certbot.

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

Pasang Certbot, iaitu aplikasi klien untuk Let's Encrypt CA.

sudo apt -y install certbot

Catatan : Untuk mendapatkan sijil dari Let's Encrypt CA, domain yang akan dibuat sijil mesti diarahkan ke pelayan. Sekiranya tidak, buat perubahan yang diperlukan pada rekod DNS domain dan tunggu DNS disebarkan sebelum membuat permintaan sijil lagi. Certbot memeriksa pihak berkuasa domain sebelum menyediakan sijil.

Menjana sijil SSL.

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

Sijil yang dijana mungkin disimpan di dalam /etc/letsencrypt/live/gocd.example.com/. Sijil SSL akan disimpan sebagai fullchain.pem dan kunci peribadi akan disimpan sebagai privkey.pem.

Mari Sijikan sijil tamat tempoh dalam 90 hari, jadi disyorkan untuk menyiapkan pembaharuan automatik sijil menggunakan pekerjaan cron.

Buka fail kerja cron.

sudo crontab -e

Tambahkan baris berikut ke hujung fail.

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

Pekerjaan cron di atas akan dijalankan setiap hari pada jam 5:30 pagi. Sekiranya sijil perlu tamat tempoh, ia akan memperbaharui secara automatik.

Buat fail konfigurasi baru untuk antara muka web GoCD.

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

Isi fail.

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

Aktifkan fail konfigurasi.

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

Mulakan semula pelayan web Nginx untuk melaksanakan perubahan konfigurasi.

sudo systemctl restart nginx

Kini anda boleh mengakses papan pemuka GoCD di https://gocd.example.com. Log masuk ke papan pemuka anda menggunakan kelayakan pentadbir dan navigasi ke " Admin >> Server Configuration" dari bar navigasi atas.

Cara Pasang dan Konfigurasikan GoCD pada Ubuntu 16.04

Tetapkan " Site URL" dan " Secure Site URL" kepada https://gocd.example.com.

Memasang Ejen GoCD

Dalam persekitaran integrasi GoCD yang berterusan, ejen GoCD adalah pekerja yang bertanggungjawab untuk melaksanakan semua tugas. Apabila perubahan sumber dikesan, saluran pipa dipicu dan pekerjaan ditugaskan untuk pekerja yang tersedia untuk pelaksanaan. Ejen kemudian melaksanakan tugas dan melaporkan status terakhir selepas pelaksanaan.

Untuk menjalankan saluran paip, sekurang-kurangnya satu ejen mesti dikonfigurasikan. Teruskan untuk memasang agen GoCD pada pelayan GoCD.

Oleh kerana kami telah mengimport repositori GoCD ke pelayan, kami boleh memasang Go Agent secara langsung.

sudo apt install -y go-agent

Sekarang, mulakan pelayan GoCD dan aktifkannya secara automatik pada waktu boot.

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

Ejen GoCD yang berjalan di localhost secara automatik didayakan apabila dikesan.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut