Cara Memasang dan Mengkonfigurasi GoCD di Ubuntu 16.04

GoCD adalah sistem pengantaran dan otomatisasi sumber terbuka yang berkelanjutan. Ini memungkinkan Anda untuk memodelkan alur kerja yang kompleks menggunakan eksekusi paralel dan berurutannya. Peta aliran nilainya memungkinkan Anda untuk dengan mudah memvisualisasikan alur kerja yang kompleks dengan mudah. GoCD memungkinkan Anda membandingkan dua bangunan dengan mudah dan menggunakan versi aplikasi apa pun yang Anda inginkan. Ekosistem GoCD terdiri dari server GoCD dan agen GoCD. GoCD bertanggung jawab untuk mengendalikan segala sesuatu seperti menjalankan antarmuka pengguna berbasis web dan mengelola serta menyediakan pekerjaan kepada agen. Agen Go bertanggung jawab untuk menjalankan pekerjaan dan penyebaran.

Prasyarat

  • Contoh server Vultr Ubuntu 16.04 dengan setidaknya 2GB RAM.
  • Seorang pengguna sudo .
  • Nama domain menunjuk ke arah server.

Untuk tutorial ini, kita akan menggunakan 192.168.1.1sebagai alamat IP publik dan gocd.example.com sebagai nama domain yang menunjuk ke instance Vultr. Pastikan untuk mengganti semua kemunculan contoh nama domain dan alamat IP dengan yang sebenarnya.

Perbarui sistem basis Anda menggunakan panduan Cara Memperbarui Ubuntu 16.04 . Setelah sistem Anda diperbarui, lanjutkan untuk menginstal Java.

Instal Java

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

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

Instal Oracle Java.

sudo apt -y install oracle-java8-installer

Periksa versinya.

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 jalur default untuk Java dengan menginstal paket berikut.

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

Anda dapat memverifikasi apakah JAVA_HOMEdisetel dengan menjalankan.

echo $JAVA_HOME

Kamu akan lihat.

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

Jika Anda tidak melihat output sama sekali, Anda harus keluar dari shell saat ini dan masuk kembali.

Instal GoCD

Instal repositori resmi 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

Instal server GoCD di sistem Anda.

sudo apt install -y go-server

Mulai GoCD dan aktifkan untuk memulai secara otomatis saat boot.

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

Sebelum kita mengakses dasbor GoCD, mari kita buat direktori baru untuk menyimpan artefak. Artefak dapat disimpan pada disk yang sama tempat sistem operasi dan aplikasi diinstal. Atau, Anda dapat menggunakan disk khusus atau memblokir drive penyimpanan untuk menyimpan artefak.

Jika Anda ingin menggunakan disk yang sama untuk menyimpan artefak, cukup buat direktori baru dan berikan kepemilikan kepada pengguna GoCD.

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

Konfigurasikan Penyimpanan Blok

Perangkat lunak GoCD merekomendasikan agar Anda menggunakan partisi atau drive tambahan untuk menyimpan artefak. Dalam platform integrasi dan pengiriman berkelanjutan, artefak dihasilkan sangat sering. Ruang disk berkurang seiring waktu ketika artefak baru terus dihasilkan. Pada tahap tertentu, sistem Anda akan kehabisan ruang disk kosong dan layanan yang berjalan pada sistem Anda akan gagal. Untuk mengatasi masalah ini, Anda dapat melampirkan drive penyimpanan blok Vultr baru untuk menyimpan artefak. Jika Anda masih ingin menyimpan artefak di drive yang sama, lewati bagian "Konfigurasikan GoCD".

Menyebarkan drive penyimpanan blok baru dan pasangkan ke instance server GoCD Anda. Sekarang buat partisi baru di perangkat penyimpanan blok.

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

Buat sistem file pada disk baru.

sudo mkfs.ext4 /dev/vdb1

Pasang drive 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 drive penyimpanan blok baru terpasang /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 kepemilikan direktori kepada pengguna GoCD.

sudo chown -R go:go /mnt/artifacts

Konfigurasikan GoCD

Sekarang Anda dapat mengakses dasbor GoCD http://192.168.1.1:8153. Untuk mengakses dasbor GoCD pada koneksi yang aman, akses https://192.168.1.1:8154. Anda akan mendapatkan kesalahan yang menunjukkan bahwa sertifikat tidak valid. Anda dapat dengan aman mengabaikan kesalahan karena sertifikat ditandatangani sendiri. Untuk tujuan keamanan, Anda harus selalu menggunakan dasbor melalui koneksi yang aman.

Sebelum Anda menyiapkan pipa baru, navigasikan ke " Admin >> Server Configuration" dari bilah navigasi atas.

Masukkan URL ke situs tanpa jaminan Anda di bidang " Site URL" dan situs aman di bidang " Secure Site URL".

Cara Memasang dan Mengkonfigurasi GoCD di Ubuntu 16.04

Selanjutnya, berikan detail server SMTP Anda untuk mengirim pemberitahuan email dari GoCD.

Cara Memasang dan Mengkonfigurasi GoCD di Ubuntu 16.04

Terakhir, berikan jalur ke lokasi tempat Anda ingin menyimpan artefak. Jika Anda memilih untuk menyimpan artefak pada disk yang sama dengan sistem operasi, masukkan /opt/artifacts; jika Anda memilih untuk memasang drive penyimpanan blok, maka Anda dapat masuk /mnt/artifacts.

Anda juga dapat mengonfigurasi GoCD untuk menghapus secara otomatis artefak lama. Konfigurasikan opsi berikutnya sesuai dengan ukuran disk Anda. Namun, opsi hapus otomatis tidak mengambil cadangan artefak lama Anda. Untuk mengambil cadangan secara manual dan kemudian menghapus artefak lama, nonaktifkan penghapusan otomatis dengan memilih opsi " Never" untuk opsi " Auto delete old artifacts".

Cara Memasang dan Mengkonfigurasi GoCD di Ubuntu 16.04

Anda perlu memulai ulang server GoCD agar perubahan baru diterapkan.

sudo systemctl restart go-server

Pengaturan Otentikasi

Secara default, dasbor GoCD tidak dikonfigurasikan untuk menggunakan jenis otentikasi apa pun, tetapi mendukung otentikasi menggunakan file kata sandi dan LDAP. Dalam tutorial ini, kami akan mengatur otentikasi berbasis kata sandi.

Catatan : Menyiapkan otentikasi adalah langkah opsional, tetapi sangat disarankan untuk server yang menghadap publik, seperti Vultr.

Instal alat Apache sehingga kita dapat menggunakan htpasswd perintah untuk membuat file kata sandi terenkripsi.

sudo apt -y install apache2-utils

Buat file kata sandi dengan htpasswd perintah menggunakan enkripsi Bcrypt.

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

Berikan kata sandi 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 dapat menambahkan pengguna sebanyak yang Anda inginkan menggunakan perintah yang sama di atas, tetapi hapus -c opsi. The -c pilihan akan menggantikan file yang ada, menggantikan pengguna lama dengan pengguna baru.

sudo htpasswd -B /etc/go/passwd_auth gouser1

Sekarang kita telah membuat file kata sandi, akses lagi dashboard GoCD. Navigasi ke " Admin >> Security >> Authorization Configurations" dari bilah navigasi atas. Klik Add tombol dan berikan ID apa pun. Pilih " Password File Authentication Plugin for GoCD" untuk ID plugin dan arahkan path ke file kata sandi. Sekarang klik tombol " Check Connection" untuk memverifikasi bahwa GoCD dapat menggunakan file kata sandi untuk otentikasi.

Cara Memasang dan Mengkonfigurasi GoCD di Ubuntu 16.04

Akhirnya, simpan metode otentikasi. Muat ulang dasbor dan secara otomatis akan mengeluarkan Anda. Anda akan melihat layar login sekarang. Masuk menggunakan kredensial yang dibuat sebelumnya.

Anda perlu mempromosikan pengguna administrator secara manual, jika tidak, semua pengguna akan memiliki hak administrator. Navigasi ke " Admin >> User Summary" dari bilah navigasi atas.

Sekarang pilih pengguna admin yang Anda buat dan klik pada Rolesdrop-down " ". Promosikan pengguna ke satu-satunya administrator dengan memilih Go System Administratorkotak centang " ".

Cara Memasang dan Mengkonfigurasi GoCD di Ubuntu 16.04

Untuk menambahkan pengguna di GoCD yang dibuat dalam file kata sandi, klik tombol " ADD" dan cari pengguna untuk menambahkan mereka. Pengguna juga secara otomatis ditambahkan ke dasbor GoCD pada login pertama mereka. Jelas, bagi pengguna untuk masuk, mereka harus ditambahkan ke file kata sandi yang telah kita buat sebelumnya.

Mengamankan GoCD dengan Let's Encrypt SSL

Secara default, GoCD mendengarkan port 8153 dan 8154 koneksi yang aman. Meskipun port 8154 menyediakan koneksi aman ke aplikasi, port juga menampilkan kesalahan browser karena menggunakan sertifikat yang ditandatangani sendiri. Di bagian tutorial ini, kami akan menginstal dan mengamankan Nginx dengan sertifikat SSL gratis Mari Enkripsi. Server web Nginx akan berfungsi sebagai proxy terbalik untuk meneruskan permintaan masuk ke HTTP titik akhir GoCD .

Instal Nginx.

sudo apt -y install nginx

Mulai Nginx dan aktifkan untuk mulai secara otomatis saat boot.

sudo systemctl start nginx
sudo systemctl enable nginx

Tambahkan repositori Certbot.

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

Instal Certbot, yang merupakan aplikasi klien untuk Let's Encrypt CA.

sudo apt -y install certbot

Catatan : Untuk mendapatkan sertifikat dari Let's Encrypt CA, domain tempat sertifikat akan dibuat harus diarahkan ke server. Jika tidak, buat perubahan yang diperlukan pada catatan DNS domain dan tunggu hingga DNS menyebar sebelum membuat permintaan sertifikat lagi. Certbot memeriksa otoritas domain sebelum memberikan sertifikat.

Buat sertifikat SSL.

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

Sertifikat yang dihasilkan cenderung disimpan di /etc/letsencrypt/live/gocd.example.com/. Sertifikat SSL akan disimpan sebagai fullchain.pem dan kunci pribadi akan disimpan sebagai privkey.pem.

Mari Enkripsi sertifikat kedaluwarsa dalam 90 hari, jadi disarankan untuk mengatur perpanjangan otomatis sertifikat menggunakan pekerjaan cron.

Buka file tugas cron.

sudo crontab -e

Tambahkan baris berikut ke akhir file.

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

Pekerjaan cron di atas akan berjalan setiap hari pada pukul 5:30 pagi. Jika sertifikat jatuh tempo, sertifikat itu akan diperpanjang secara otomatis.

Buat file konfigurasi baru untuk antarmuka web GoCD.

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

Mengisi file.

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 file konfigurasi.

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

Mulai ulang server web Nginx untuk mengimplementasikan perubahan konfigurasi.

sudo systemctl restart nginx

Sekarang Anda dapat mengakses dasbor GoCD di https://gocd.example.com. Masuk ke dashboard Anda menggunakan kredensial administrator dan arahkan ke " Admin >> Server Configuration" dari bilah navigasi atas.

Cara Memasang dan Mengkonfigurasi GoCD di Ubuntu 16.04

Setel " Site URL" dan " Secure Site URL" ke https://gocd.example.com.

Menginstal Agen GoCD

Dalam lingkungan integrasi berkelanjutan GoCD, agen GoCD adalah pekerja yang bertanggung jawab atas pelaksanaan semua tugas. Ketika perubahan sumber terdeteksi, pipa dipicu dan pekerjaan ditugaskan untuk pekerja yang tersedia untuk dieksekusi. Agen kemudian menjalankan tugas dan melaporkan status akhir setelah eksekusi.

Untuk menjalankan pipa, setidaknya satu agen harus dikonfigurasikan. Lanjutkan untuk menginstal agen GoCD di server GoCD.

Karena kami telah mengimpor repositori GoCD ke server, kami dapat langsung menginstal Go Agent.

sudo apt install -y go-agent

Sekarang, mulai server GoCD dan aktifkan untuk memulai secara otomatis saat boot.

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

Agen GoCD yang berjalan di localhost secara otomatis diaktifkan ketika terdeteksi.



Leave a Comment

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut