Score:0

วิธีตั้งค่าฟลักซ์เพื่อปรับใช้แท็กอิมเมจล่าสุดสำหรับทุกบิลด์

ธง cn

ฉันได้เพิ่มการกระทำ GitHub เพื่อสร้างอิมเมจนักเทียบท่าสำหรับทุกการกระทำล่าสุดและส่งไปยังรีจิสตรีคอนเทนเนอร์ของเราด้วยสีฟ้า

เราได้สร้างไฟล์ yaml เพื่อปรับใช้อิมเมจนักเทียบท่ากับ kubernetes บน azure และปรับใช้ฟลักซ์ในการซิงค์อัตโนมัติหากมีการเปลี่ยนแปลงใด ๆ ในไฟล์ yaml

วิธีการตั้งค่า ฟลักซ์ หากต้องการรับอิมเมจล่าสุดจากคอนเทนเนอร์รีจิสตรีเมื่อมีบิลด์ใหม่มา

au flag
ไม่แน่ใจว่าฉันสามารถเขียนคำตอบได้เนื่องจากเราใช้ ArgoCD กับ AKS และ ACR แทน Flux อย่างไรก็ตาม ในกรณีที่มีประโยชน์ เราจะใช้การดำเนินการ Kustomize gh กับการดำเนินการชำระเงินมาตรฐาน ( imranismail/setup-kustomize@v1 ) เพื่ออัปเดตแท็กรูปภาพใน repo โครงสร้างพื้นฐานระยะไกล
Sara June avatar
cn flag
เรายังอยู่ในขั้นตอน POC ดังนั้นคุณช่วยแนะนำฉันเกี่ยวกับรายละเอียดที่เกี่ยวข้องในลิงก์ใน ARGO CD ได้ไหม จากนั้นฉันจะลองทำโปรเจกต์ตามนั้น
au flag
ฉันจะเขียนเป็นคำตอบในภายหลังและใส่ลิงก์ที่เกี่ยวข้อง ฉันคิดว่ามันควรจะใช้กับ Flux อย่างเท่าเทียมกัน
Score:2
ธง au

ข้อมูลนี้อธิบายวิธีแก้ปัญหาที่คุณเก็บไฟล์ yaml ไว้ในที่เก็บ GitHub โดยแยกจากที่เก็บที่คุณเก็บโค้ดโครงการไว้ ดังนั้น repos ทั้งสองคือ:

  1. ที่เก็บโครงการ GitHub
  2. โครงสร้างพื้นฐาน GitHub repo (IaC)

สมมติฐานของฉันคือ Flux นั้นชี้ไปที่ Infrastructure repo เพื่อที่ว่าเมื่อทำการเปลี่ยนแปลงที่นั่น Flux จะนำคลัสเตอร์อินไลน์กับการเปลี่ยนแปลงที่ต้องการที่ประกาศไว้ใน repo (เราใช้ ArgoCD) เมื่อคุณทำการเปลี่ยนแปลง repo โครงการของคุณและ GitHub Action จะสร้างอิมเมจใหม่ (พร้อมแท็กใหม่) และส่งไปยัง Azure Container Registry ของคุณ

จากนั้นคำถามของคุณจะถามว่าจะให้เครื่องมือ CI/CD (เช่น Flux) ทราบเกี่ยวกับแท็กรูปภาพใหม่ได้อย่างไร เพื่อให้สามารถดึงรูปภาพใหม่ได้

คำแนะนำคือการพิจารณาใช้ Kustomize เพื่อจัดการการอัปเดตแท็กใน repo โครงสร้างพื้นฐาน เพื่อให้เครื่องมือ CI/CD ตรวจพบการเปลี่ยนแปลงนั้นใน repo โดยอัตโนมัติ และอัปเดตคลัสเตอร์ตามนั้นโดยใช้อิมเมจใหม่

สิ่งนี้จะต้องมีสิ่งต่อไปนี้:

เพิ่มไฟล์ Kustomization.yaml ลงใน Infrastructure repo ซึ่งมี a) รายการ yaml ที่อธิบายโครงสร้างพื้นฐานของคุณสำหรับโครงการ และ b) แท็กรูปภาพที่จะแทนที่

apiVersion: kustomize.config.k8s.io/v1beta1
ประเภท: การปรับแต่ง

ทรัพยากร:
-source1.yaml
-source2.yaml
- ...

ภาพ:
- ชื่อ: ชื่อภาพในรายการการปรับใช้ของคุณ
  newTag: ที่จะถูกแทนที่

จากนั้นในเวิร์กโฟลว์ GitHub Action ใน Project Repo ให้ใช้การดำเนินการ/checkout@v2 เพื่อดึง repo โครงสร้างพื้นฐานระยะไกล จากนั้นเพิ่มการดำเนินการ imranismail/setup-kustomize@v1 และใช้เพื่อแทนที่แท็บรูปภาพ จากนั้นพุชการเปลี่ยนแปลงกลับไปที่ Infrastructure repo ตัวอย่างด้านล่าง แก้ไขให้เหมาะกับสถานการณ์ของคุณ:

สร้างขั้นตอนที่นี่

ปรับใช้:
  ความต้องการ: สร้าง
  ทำงานบน: อูบุนตูล่าสุด

  ขั้นตอน:
  - ชื่อ: ชำระเงิน repo ระยะไกล
    ใช้: การดำเนินการ/checkout@v2
    กับ:
      พื้นที่เก็บข้อมูล: {repo github ของคุณ}
      โทเค็น: ${{ secrets.INFRA_REPO_TOKEN }}
      เส้นทาง: infra-repo

  - ชื่อ: ตั้งค่า Kustomize
    ใช้: imranismail/setup-kustomize@v1
    กับ:
      ปรับแต่งเวอร์ชัน: "3.6.1"

  - ชื่อ: ปิดแท็กรูปภาพ
    วิ่ง: |
      cd infra-repo/{ชื่อรีโป}
      ปรับแต่งรูปภาพชุดแก้ไข {ชื่อรูปภาพ}:{แท็ก}

  - ชื่อ: กระทำและผลักดัน
    วิ่ง: |
      cd infra-repo/{ชื่อรีโป}
      git config --local user.email [email protected]
      git config --local user.name github-actions
      git commit -am "อัปเดตแท็กรูปภาพ"
      คอมไพล์กด

ลิงก์ที่เกี่ยวข้องเหล่านี้ควรให้ข้อมูลที่คุณต้องการเพื่อสร้างเวิร์กโฟลว์อย่างถูกต้อง:

โพสต์คำตอบ

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