Besom - ไม้กวาดที่ทำจากกิ่งไม้ผูกไว้รอบแท่ง ไม้กวาดและ besoms ใช้เพื่อการป้องกันเพื่อป้องกันวิญญาณชั่วร้ายและการทำความสะอาดพื้นที่พิธีกรรม นอกจากนี้ Besom คือ Scala SDK ที่ให้คุณเขียนโปรแกรม Pulumi ใน Scala โดยบังเอิญ
Besom Scala SDK สำหรับ Pulumi ช่วยให้คุณใช้ประโยชน์จากพลังของโครงสร้างพื้นฐาน Pulumi เป็นแพลตฟอร์มรหัสโดยใช้ภาษาการเขียนโปรแกรม Scala Scala Support ปัจจุบันอยู่ใน เบต้าสาธารณะ
Pulumi เป็นเครื่องหมายการค้าจดทะเบียนของ Pulumi Corporation
เริ่มต้นด้วย BESOM : ปรับใช้แอปพลิเคชันอย่างง่ายใน AWS, Azure, Google Cloud หรือ Kubernetes โดยใช้ BESOM เพื่ออธิบายโครงสร้างพื้นฐานที่ต้องการโดยใช้ Scala
เอกสาร BESOM : เรียนรู้เกี่ยวกับแนวคิด BESOM ติดตามคู่มือผู้ใช้และปรึกษาเอกสารอ้างอิง
ตัวอย่าง : เรียกดูตัวอย่าง Scala ในหลายเมฆและสถานการณ์ต่างๆรวมถึงคอนเทนเนอร์, Serverless และโครงสร้างพื้นฐาน
ติดตั้ง Pulumi CLI :
ในการติดตั้งรีลีส Pulumi ล่าสุดให้เรียกใช้ต่อไปนี้ (ดูคำแนะนำการติดตั้งแบบเต็มสำหรับตัวเลือกการติดตั้งเพิ่มเติม):
curl -fsSL https://get.pulumi.com/ | sh
ติดตั้ง Scala CLI :
ในการติดตั้งรีลีส Scala CLI ล่าสุดให้เรียกใช้ต่อไปนี้ (ดูคำแนะนำการติดตั้งสำหรับตัวเลือกการติดตั้งเพิ่มเติม):
curl -sSLf https://scala-cli.virtuslab.org/get | sh
ติดตั้งปลั๊กอินภาษา Scala ใน Pulumi :
หากต้องการติดตั้งปลั๊กอิน Language Language ล่าสุดให้เรียกใช้สิ่งต่อไปนี้:
pulumi plugin install language scala 0.3.2 --server github://api.github.com/VirtusLab/besom
สร้างโครงการใหม่ :
คุณสามารถเริ่มเขียนรหัส BESOM ของคุณได้ ณ จุดนี้ แต่เพื่อช่วยให้คุณตั้งค่า BESOM มาพร้อมกับเทมเพลต Pulumi
คุณสามารถเริ่มต้นด้วยคำสั่ง pulumi new
:
mkdir besom-demo && cd besom-demo
pulumi new https://github.com/VirtusLab/besom/tree/v0.3.2/templates/aws
ปรับใช้กับคลาวด์ :
เรียกใช้ pulumi up
เพื่อรับรหัสของคุณไปยังคลาวด์:
pulumi up
สิ่งนี้ทำให้ทรัพยากรคลาวด์ทั้งหมดประกาศในรหัสของคุณ เพียงทำการแก้ไขโครงการของคุณและ pulumi up
S ที่ตามมาจะคำนวณความแตกต่างน้อยที่สุดเพื่อปรับใช้การเปลี่ยนแปลงของคุณ
ใช้โปรแกรมของคุณ :
ตอนนี้รหัสของคุณถูกปรับใช้แล้วคุณสามารถโต้ตอบกับมันได้ ในตัวอย่างข้างต้นเราสามารถค้นหาชื่อของถัง S3 ที่จัดเตรียมใหม่:
pulumi stack output bucketName
ทำลายทรัพยากรของคุณ :
หลังจากเสร็จสิ้นคุณสามารถลบทรัพยากรทั้งหมดที่สร้างโดยโปรแกรมของคุณ:
pulumi destroy -y
หากต้องการเรียนรู้เพิ่มเติมตรงไปที่ Virtuslab.github.io/besom สำหรับข้อมูลเพิ่มเติมมากมายรวมถึงการสอนตัวอย่างและแนวคิดสถาปัตยกรรมและรูปแบบการเขียนโปรแกรม
Pulumi.yaml
เป็นไฟล์ Pulumi หลักของคุณอธิบายที่นี่
project.scala
เป็นไฟล์ที่มีการพึ่งพาของคุณสำหรับ scala-cli
Main.scala
เป็นจุดเริ่มต้นสำหรับโครงสร้างพื้นฐานของคุณเป็นรหัส
ทรัพยากรที่สร้างขึ้นใน Pulumi.run { ... }
บล็อกจะถูกสร้างขึ้นโดย Pulumi
ตัวอย่างง่ายๆโดยใช้ Scala CLI:
//> using scala " 3.3.1 "
//> using plugin " org.virtuslab::besom-compiler-plugin:0.3.2 "
//> using dep " org.virtuslab::besom-core:0.3.2 "
//> using dep " org.virtuslab::besom-aws:6.31.0-core.0.3 "
import besom . *
import besom . api . aws
@ main def run = Pulumi .run {
val bucket = aws.s3. Bucket ( " my-bucket " )
Stack .exports(
bucketName = bucket.bucket
)
}
บันทึก
โปรดให้ความสนใจกับการพึ่งพาของคุณ ใช้เฉพาะ org.virtuslab::besom-*
และไม่ใช่ com.pulumi:*
Besom ไม่ได้ขึ้นอยู่กับ Pulumi Java SDK มันเป็นการใช้งานที่แยกจากกันอย่างสมบูรณ์
Stack
สุดท้ายของโปรแกรมของคุณContext
Context
มีให้บริการตามที่กำหนด (โดยปริยาย) ในบล็อก Pulumi.run
แต่คุณสามารถต้องการได้อย่างชัดเจนในฟังก์ชั่นใด ๆ ของคุณด้วย (using Context)
Scala CLI เป็นเครื่องมือสร้างที่แนะนำเครื่องมืออื่น ๆ ยังได้รับการสนับสนุน BESOM จะรับรู้โปรแกรม Scala CLI และ SBT และคอมไพล์ใหม่โดยอัตโนมัติโดยไม่ต้องกำหนดค่าเพิ่มเติม เวอร์ชันที่รองรับคือ:
เครื่องมือสร้างอื่น ๆ ได้รับการสนับสนุนผ่านทางรันไทม์ตัวเลือกการกำหนดค่าแบบ runtime.options.binary
ที่สามารถชี้ไปที่ขวดที่สร้างไว้ล่วงหน้าใน Pulumi.yaml
, เช่น:
name : myproject
runtime :
name : scala
options :
binary : target/myproject-1.0-SNAPSHOT-jar-with-dependencies.jar
Besom ใช้ Scala-CLI สำหรับการรวบรวมโครงการและการดำเนินการ
ในการตั้งค่าการสนับสนุน IDE สำหรับโครงการโครงสร้างพื้นฐานโดยใช้ BESOM เรียกใช้คำสั่งนี้ภายในไดเรกทอรีที่มีไฟล์โครงการ BESOM:
scala-cli setup-ide .
อันเป็นผลมาจากคำสั่งนี้ไดเรกทอรี .bsp
จะถูกสร้างขึ้นภายในไดเรกทอรีโครงการ
เมื่อเปิดทั้งความคิด Intellij และโลหะควรจดจำโครงการโดยอัตโนมัติและตั้งค่า IDE ตามนั้น
SBT, Gradle และ Maven ยังได้รับการสนับสนุนนอกกรอบ แต่ ไม่แนะนำ เนื่องจากความเร็วการทำซ้ำช้าลง แนะนำการใช้การสนับสนุน sbt
, gradle
หรือ mvn
สำหรับสถานการณ์ที่มีการเพิ่มโครงสร้างพื้นฐานที่มีการจัดการในโครงการที่มีอยู่แล้วซึ่งใช้ SBT เป็นเครื่องมือสร้างหลัก
การตั้งค่า IDE สำหรับ sbt
, gradle
หรือ mvn
ทำงานได้โดยอัตโนมัติกับทั้ง Idellij Idea และ Metals
มิลยังไม่ได้รับการสนับสนุน
เยี่ยมชมการบริจาค MD สำหรับข้อมูลเกี่ยวกับการสร้าง BESOM จากแหล่งที่มาหรือการปรับปรุงที่มีส่วนร่วม