Q: Apa itu Jenkins?

Jenkins adalah alat integrasi berkelanjutan open-source yang ditulis dalam Java. Ia menyediakan layanan integrasi kustom bagi pengembangan perangkat lunak. Ia merupakan sistem berbasis server yang digunakan oleh banyak tim pengembangan.

T: Mengapa saya harus menggunakan Jenkins?

Anda perlu menggunakan Jenkins jika Anda berusaha mempercepat Software Development Lifecycle (SDLC) Anda. Jenkins memungkinkan Anda mengintegrasikan pembangunan, penerapan, dan pengujian di berbagai lingkungan, sembari mengurangi waktu tunggu bagi tim pengembangan Anda. Terakhir, karena ia memungkinkan Anda mengintegrasikan secara berkelanjutan, Jenkins cocok bagi DevOps dan metodologi tangkas yang menggunakan daur iterasi cepat.

Q: Mengapa saya perlu menjalankan Jenkins di AWS?

AWS menyediakan sumber daya infrastruktur andal, terskala, dan aman yang ideal untuk menjalankan aplikasi semacam Jenkins. Dengan menjalankan Jenkins pada komputasi AWS, Anda hanya membayar untuk yang Anda gunakan dan dapat menaikkan atau menurunkan skala kapasitas untuk menyesuaikan dengan kebutuhan spesifik Anda.

Q: Akankah saya memiliki lingkungan Jenkins saya?

Ya - semua sumber daya yang dibuat ketika mengeksekusi panduan Memulai ini tetap menjadi milik Anda dan akan ada di dalam akun Anda. Mereka akan tetap ada hingga Anda memutuskan untuk menghapus instans Amazon EC2.

Q: Berapa harga Jenkins?

Jenkins merupakan perangkat lunak open-source gratis. Biaya yang Anda bayar hanya infrastruktur dasar tempat Jenkins berjalan. Untuk informasi selengkapnya, lihat Layanan yang Digunakan dan Biaya.

Q: Bagaimana saya dapat mengamankan Jenkins di AWS?

Anda harus memanfaatkan Grup Keamanan dan menggunakan kata sandi yang kuat. Anda juga harus memastikan bahwa instalasi instans EC2 dan Jenkins Anda termutakhirkan dengan patch keamanan terbaru. Grup keamanan bertindak sebagai stateful firewall virtual yang mengendalikan lalu lintas bagi satu instans atau lebih. Jika memungkinkan, persempit rentang IP hingga hanya pada sumber alamat IP yang relevan. Jangan membuka port TCP atau UDP luar apa pun (TCP 80 dan 8080 sudah cukup). Ketika mengatur kata sandi bagi Jenkins, ikuti praktik terbaik penyandian yang biasa dan gunakan karakter alfanumerik huruf kecil dan huruf kapital sebagai tambahan bagi simbol (misalnya, /, ., !, *...). Anda dapat memastikan bahwa instans Amazon Linux Anda mempunyai paket terbaru terinstal dengan menjalankan pemutakhiran yum. Hal ini juga akan memutakhirkan Jenkins jika Anda telah menginstalnya menggunakan yum, sesuai dengan instruksi panduan ini.

Q: Dapatkah saya menjalankan Jenkins dalam sebuah subnet pribadi?

Anda dapat menginstal Jenkins pada instans EC2 yang merupakan bagian dari subnet publik atau pribadi. Jika Anda ingin menempatkan instans tersebut dalam sebuah subnet pribadi, Anda akan perlu memastikan bahwa Anda dapat mengakses front-end Jenkins. Jika Anda terkoneksi melalui internet, Anda dapat memilih untuk menciptakan sebuah grup target Jenkins dan menggunakan sebuah Application Load Balancer untuk menciptakan suatu titik akhir publik bagi instans host pribadi Anda. Jika Anda terkoneksi dari pusat data Anda sendiri, Anda akan ingin membuat sebuah VPN atau terkoneksi ke Jenkins melalui Direct Connect.

Q: Bagaimana saya dapat menyesuaikan skala Jenkins?

Ada beberapa cara agar Anda dapat memastikan bahwa Jenkins akan mengikuti kebutuhan CI/CD Anda. Satu cara langsung adalah menyesuaikan skala secara vertikal instans EC2 dengan mengganti ukuran instans. Cara lainnya adalah dengan mengonfigurasiJenkins Amazon EC2 Container Service Plugin dengan demikian mengalihkan tugas build ke slave task Jenkins pada sebuah klaster ECS.