GNU/Linux >> Znalost Linux >  >> Linux

Jak integrovat Jenkinse s CloudFormation a Step Functions

Z mé osobní zkušenosti se mnoho společností spoléhá na Jenkins a Terraform při automatizaci své cloudové infrastruktury. Není žádný problém, pokud byste chtěli nasadit něco od Jenkinse do cloudu, ale co dělat, pokud chcete zavolat úkol Jenkins z a nasadit modul Terraform jako produkt katalogu služeb nebo zahrnout potrubí Jenkins do pracovního postupu organizovaného StepFunctions? Tento článek popisuje jednotný integrační vzor, ​​který vám umožní integrovat Jenkinsovy úlohy s vlastními prostředky CloudFormation a pracovními postupy Step Functions.

Instalace Jenkins

Existuje mnoho způsobů, jak nasadit Jenkins do cloudu AWS.

Pro proces automatizované instalace jednoho serveru Jenkins do cloudu AWS použijte náš článek Jak nainstalovat Jenkins na nejnovější Ubuntu za 5 minut.

Také by vás mohlo zajímat Nasazení Jenkins na Amazon EKS s Amazon EFS, pokud hledáte způsob, jak používat kontejnery Docker jako pracovníci Jenkins.

Ať už používáte jakoukoli metodu nasazení; v důsledku toho získáte server Jenkins, jehož pracovníci mohou převzít role IAM v jednom nebo více účtech AWS za účelem nasazení požadovaných aplikací nebo služeb.

Nyní můžeme váš server Jenkins integrovat se službami CloudFormation a Step Functions.

Vzor integrace

Pokud čtete tento článek, pravděpodobně se pokoušíte vyřešit jeden z následujících problémů:

  • Jak volat rozhraní API Jenkins z jiných služeb AWS
  • Jak poskytnout přístup k vašim centrálním Jenkins API z více účtů AWS

Řešením je použití AWS Lambda, SQS a SNS:

V tomto integračním vzoru:

  • AWS Lambda role je provádět volání API Jenkinsovi pomocí knihovny python-jenkins.
  • Amazon SNS vám umožňuje bezproblémově přijímat události ze služeb Step Function a CloudFormation.
  • Amazon SQS je odpovědná za odesílání, ukládání a přijímání zpráv pro Jenkinse v libovolném objemu bez ztráty těchto zpráv, pokud bude Jenkins (z jakéhokoli důvodu) nedostupný.

Zde je návod, jak vypadá kompletní schéma architektury pro jeden účet AWS:

Pokud potřebujete podporovat více oblastí AWS, můžete takové nastavení snadno rozšířit tím, že témata SNS vložíte do požadovaných oblastí AWS a integrujete je přímo do fronty SQS.

Zásady přístupu k tématu SNS můžete nakonfigurovat tak, aby poskytovaly přístup k tématu z více účtů a organizací AWS. Je velmi snadné to nakonfigurovat, protože můžete použít ID účtů a organizační jednotky organizace AWS:

  • Jak povolím účtům AWS v mé organizaci publikovat zprávy na téma Amazon SNS v mém účtu?

Konečně, jakmile bude zavedena integrace „Jenkins to AWS CloudFormation“, můžete použít vlastní zdroje CloudFormation ke spouštění úloh Jenkins z CloudFormation. To odemyká možnost nasazení produktů Katalog služeb pomocí Jenkins.

Shrnutí

V tomto článku jsme popsali integraci Jenkins se službami CloudFormation a Step Function AWS, která vám umožňuje používat úlohy Jenkins k nasazení produktů Katalog služeb nebo jako součást vašich pracovních postupů Step Functions.

Doufáme, že tento článek byl pro vás užitečný. Pokud ano, pomozte nám to rozšířit do světa!


Linux
  1. Jak nastavit LogAnalyzer s Rsyslog a MySQL

  2. Jak nainstalovat a integrovat SpamAssassin s Exim na CentOS 7 VPS

  3. Jak nainstalovat a integrovat BigBlueButton s WordPress

  1. Jak nainstalovat a integrovat SpamAssassin s Postfixem na CentOS 6 VPS

  2. Jak vytvářet a volat funkce v Bash

  3. Jak napsat soubor s C v Linuxu?

  1. Jak nainstalovat RHEL 8 krok za krokem pomocí snímků obrazovky

  2. Jak nainstalovat MX Linux 21 krok za krokem pomocí snímků obrazovky

  3. Jak vyloučit soubory a adresáře pomocí Rsync