Score:0

การปรับใช้ monorepo โดยไม่มี SSH

ธง cn

การเปิดเผยแบบเต็ม: ฉันเป็น DevOps noob

ฉันกำลังใช้งาน MERN mono repo บนอินสแตนซ์ EC2 เดิมที ฉันจะใส่ SSH ลงในเครื่องเสมอ ดึงจากที่เก็บ และสร้างใหม่อีกครั้ง แต่มีปัญหากับสิ่งนี้.. กระบวนการสร้างใช้เวลานานขึ้น ดังนั้นเมื่อการเชื่อมต่อ SSH ขาดในบางครั้ง กระบวนการสร้างจึงถูกยุติลง สิ่งนี้เกิดขึ้นมากมายทำให้ปรับใช้ได้ยาก

ฉันคิดเกี่ยวกับมัน และฉันแน่ใจว่ามีบริการที่สามารถทำได้: ฉันสามารถใช้ไปป์ไลน์ CI/CD ใน repo ของฉัน (BitBucket) ดังนั้นเมื่อมีการคอมมิตในสาขาหลัก ก็สามารถ ping อินสแตนซ์ของฉันได้ จากนั้นมีแอปพลิเคชันที่ทำงานบนอินสแตนซ์ของฉัน ซึ่งเมื่อได้รับการ ping นี้ จะดึง สร้างใหม่ และรีสตาร์ท repo ดังนั้น เนื่องจากเป็นแอปพลิเคชันภายใน EC2 จึง a.) ไม่จำเป็นต้องใช้ SSH และ b.) เป็นโซลูชันที่เชื่อถือได้ในการปรับใช้ คงจะดีถ้ามีการตรวจสอบกระบวนการสร้างเมื่อมีการทริกเกอร์

ฉันไม่สามารถแสดงความต้องการของฉันได้ ดังนั้นฉันจึงไม่สามารถดูวิธีแก้ปัญหาที่มีให้ โปรดแนะนำสิ่งเดียวกัน

anx avatar
fr flag
anx
หากคุณมีคุณสมบัติไปป์ไลน์ของ BitBucket และพอใจกับมัน คำถามคืออะไร แค่.. ใช้มัน? หากคุณยินดีมอบคีย์ ssh ที่เหมาะสมให้พวกเขา การเชื่อมต่อจะไม่ได้รับผลกระทบจากปัญหาการเชื่อมต่อภายในเครื่องของคุณ
cn flag
คำถามของฉันคือ: มีแอปพลิเคชันดังกล่าวให้บริการหรือไม่ ซึ่งสามารถส่ง Ping โดย BitBucket (ผ่าน Elastic IP และกำลังทำงานภายในเครื่อง EC2) และเมื่อทำการ Ping มันจะดึงและสร้างบน EC2 (นี่เป็นส่วนที่ง่าย)
cn flag
(อีกแล้ว นู๋ๆ นี่แน่ะ มีแบบนี้ด้วย แต่ไม่รู้จะบรรยายยังไง ก็เลยมา)
cn flag
ทำให้ง่ายขึ้น: การตั้งค่าการปรับใช้ปัจจุบันของฉันเกี่ยวข้องกับ SSH Tunneling และอย่างที่เราทราบ การตั้งค่าเหล่านี้อาจไม่เสถียร ดังนั้นจึงขัดจังหวะกระบวนการสร้างและเอฟเฟกต์แบบน็อคออนที่ทำให้ไซต์หยุดทำงาน ดังนั้นฉันต้องการเริ่มหลีกเลี่ยงโซลูชันที่เพิ่งเริ่มสร้างในเครื่อง (สคริปต์) ด้วยตัวเองโดยได้รับการร้องขอบางประเภท (เช่นการเรียกใช้ REST เป็นต้น)
cn flag
คุณสามารถ[พื้นหลัง/แยกกระบวนการ](https://askubuntu.com/q/8653/4827) เพื่อไม่ให้กระบวนการหลัก (เชลล์) ตาย หรือใช้ `screen`/`tmux` .
cn flag
@AaronCopley ขอบคุณ นั่นเป็นความคิดที่ดีอย่างหนึ่งสำหรับการปรับใช้ด้วยตนเอง แต่ในขณะเดียวกันมันก็ดีที่จะกำจัดฉันออกจากสิ่งนี้ด้วยซ้ำ :)
Score:1
ธง dj

ฉันขอแนะนำให้เรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำงานของ CI/CD ไปป์ไลน์ของ Bitbucket นั้นเพียงพอแล้วที่จะทำสิ่งที่คุณต้องการ สิ่งที่คุณต้องการมีอยู่ในขอบเขตของเครื่องมือมากมาย ไม่มีเครื่องมือเดียวที่ทำทุกอย่างได้อย่างแน่นอน บางคนใช้ Kubernetes บางคนใช้ docker-compose สำหรับการตรวจสอบความสมบูรณ์นั้น โดยปกติแล้วจะจัดการกับโหลดบาลานเซอร์หรือสิ่งที่คล้ายกัน บางคนสร้างสคริปต์ที่กำหนดเองเพื่อจัดการทุกอย่าง จากสิ่งที่คุณอธิบาย ดูเหมือนว่าการเขียนสคริปต์ด้วยตนเองจำนวนมากจะเหมาะสมที่สุด

cn flag
ใช่ ฉันทราบดีว่า bitbucket นั้นเพียงพอ แต่เนื่องจากฉันเชื่อว่าอาจมีการกำหนดค่าบางอย่างที่จำเป็นในเครื่องซึ่งควรเหลือไว้เฉพาะในเครื่อง EC2 ของฉัน ฉันจึงต้องการให้บิลด์ทำงานที่นั่นต่อไป.... ดังนั้น bitbucket ทั้งหมดนั้น ต้องทำคือการ ping เครื่องของฉัน - (ตรวจสอบโดยใช้ webhooks) และจิ๊กซอว์ชิ้นเดียวที่เหลืออยู่คือแอปพลิเคชันเพื่อรับการเรียก webhook บนเครื่องนั้นและเริ่มกระบวนการสร้างที่นั่น (เรียกใช้สคริปต์ที่นั่น)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา