GNU/Linux >> Belajar Linux >  >> Linux

Cara mengintegrasikan Jenkins dengan CloudFormation dan Step Functions

Dari pengalaman pribadi saya, banyak perusahaan mengandalkan Jenkins dan Terraform saat mengotomatiskan infrastruktur cloud mereka. Tidak masalah jika Anda ingin menerapkan sesuatu dari Jenkins ke cloud, tetapi apa yang harus dilakukan, jika Anda ingin memanggil pekerjaan Jenkins dari untuk menerapkan modul Terraform sebagai produk Katalog Layanan, atau menyertakan pipa Jenkins ke alur kerja yang diatur oleh LangkahFungsi? Artikel ini akan menjelaskan pola integrasi terpadu, yang memungkinkan Anda mengintegrasikan tugas Jenkins dengan resource kustom CloudFormation dan alur kerja Step Functions.

Instalasi Jenkins

Ada banyak cara untuk menerapkan Jenkins ke cloud AWS.

Untuk proses instalasi otomatis dari satu server Jenkins ke AWS cloud, gunakan artikel Cara Memasang Jenkins di Ubuntu Terbaru dalam 5 Menit.

Anda mungkin juga tertarik untuk Menyebarkan Jenkins di Amazon EKS dengan Amazon EFS jika Anda mencari cara untuk menggunakan container Docker sebagai pekerja Jenkins.

Metode penerapan apa pun yang Anda gunakan; sebagai hasilnya, Anda akan mendapatkan server Jenkins yang pekerjanya dapat mengambil peran IAM di satu atau beberapa akun AWS untuk menerapkan aplikasi atau layanan yang diperlukan.

Sekarang, kami dapat mengintegrasikan server Jenkins Anda dengan layanan CloudFormation dan Step Functions.

Pola integrasi

Jika Anda membaca artikel ini, Anda mungkin mencoba memecahkan salah satu masalah berikut:

  • Cara memanggil Jenkins API dari layanan AWS lain
  • Cara memberikan akses ke API Jenkins pusat Anda dari beberapa akun AWS

Solusinya adalah dengan menggunakan AWS Lambda, SQS, dan SNS:

Dalam pola integrasi ini:

  • AWS Lambda perannya adalah membuat panggilan API ke Jenkins menggunakan pustaka python-jenkins.
  • Amazon SNS memungkinkan Anda menerima acara dari layanan Step Function dan CloudFormation dengan mulus.
  • Amazon SQS bertanggung jawab untuk mengirim, menyimpan, dan menerima pesan untuk Jenkins pada volume berapa pun tanpa kehilangan pesan tersebut jika Jenkins (karena alasan apa pun) menjadi tidak tersedia.

Begini tampilan diagram arsitektur lengkap untuk satu akun AWS:

Jika Anda perlu mendukung beberapa wilayah AWS, Anda dapat dengan mudah memperluas penyiapan tersebut dengan menempatkan topik SNS ke wilayah AWS yang diperlukan dan mengintegrasikannya langsung ke antrean SQS.

Anda dapat mengonfigurasi kebijakan akses topik SNS untuk memberikan akses ke topik dari beberapa akun dan organisasi AWS. Sangat mudah untuk mengonfigurasinya karena Anda dapat menggunakan ID Akun dan OU Organisasi AWS:

  • Bagaimana cara mengizinkan akun AWS di organisasi saya untuk memublikasikan pesan ke topik Amazon SNS di akun saya?

Terakhir, segera setelah integrasi “Jenkins ke AWS CloudFormation” diterapkan, Anda dapat menggunakan sumber daya khusus CloudFormation untuk menjalankan tugas Jenkins dari CloudFormation. Itu membuka kemampuan penerapan produk Katalog Layanan menggunakan Jenkins.

Ringkasan

Dalam artikel ini, kami telah menjelaskan integrasi Jenkins dengan layanan CloudFormation dan Step Function AWS, yang memungkinkan Anda menggunakan pekerjaan Jenkins untuk menerapkan produk Katalog Layanan atau sebagai bagian dari alur kerja Step Functions Anda.

Kami berharap, artikel ini bermanfaat bagi Anda. Jika demikian, tolong, bantu kami untuk menyebarkannya ke seluruh dunia!


Linux
  1. Cara Mengatur LogAnalyzer dengan Rsyslog dan MySQL

  2. Cara menginstal dan mengintegrasikan SpamAssassin dengan Postfix pada CentOS 6 VPS

  3. Bagaimana cara menulis file dengan C di Linux?

  1. Cara menginstal dan mengintegrasikan SpamAssassin dengan Exim pada CentOS 7 VPS

  2. Cara Menginstal dan Mengintegrasikan BigBlueButton dengan WordPress

  3. Cara Membuat dan Memanggil Fungsi di Bash

  1. Cara Memasang RHEL 8 Langkah demi Langkah dengan Tangkapan Layar

  2. Cara Menginstal MX Linux 21 Langkah demi Langkah dengan Tangkapan Layar

  3. Cara Mengecualikan File dan Direktori dengan Rsync