การส่งอิมเมจ Docker ไปยัง Amazon ECR โดยใช้ไปป์ไลน์ของเจนกินส์

May 05 2023
หากต้องการตั้งค่า Jenkins ให้ส่งอิมเมจ Docker ไปยัง Amazon Elastic Container Registry (ECR) ด้วยสคริปต์ไปป์ไลน์ของ Jenkins คุณสามารถทำตามขั้นตอนด้านล่าง: ติดตั้งปลั๊กอินที่จำเป็น: ปลั๊กอิน AWS Steps - ปลั๊กอินนี้มีชุดขั้นตอน AWS สำหรับ Jenkins Pipeline

หากต้องการตั้งค่า Jenkins ให้พุชอิมเมจ Docker ไปยัง Amazon Elastic Container Registry (ECR) ด้วยสคริปต์ไปป์ไลน์ Jenkins คุณสามารถทำตามขั้นตอนด้านล่าง:

ติดตั้งปลั๊กอินที่จำเป็น:

ก. ปลั๊กอิน AWS Steps - ปลั๊กอินนี้มีชุดขั้นตอน AWS สำหรับ Jenkins Pipeline จำเป็นต้องมีการโต้ตอบกับ ECR

ข. ปลั๊กอิน Docker Pipeline - ปลั๊กอินนี้มีขั้นตอนไปป์ไลน์ที่ใช้ Docker จำเป็นต้องสร้างและส่งอิมเมจ Docker ไปยัง ECR

สร้างที่เก็บ Amazon ECR:

ก. ไปที่คอนโซล Amazon ECR

ข. คลิกที่ปุ่ม "สร้างพื้นที่เก็บข้อมูล"

ค. ตั้งชื่อที่เก็บของคุณแล้วคลิกที่ปุ่ม "สร้างที่เก็บ"

สร้างเจนกินส์ไปป์ไลน์:

ก. สร้างงาน Jenkins Pipeline ใหม่

ข. ในส่วนสคริปต์ไปป์ไลน์ ให้เขียนสคริปต์เจนกินส์ไปป์ไลน์เพื่อสร้างและพุชอิมเมจ Docker เป็น ECR

นี่คือรหัสที่ระบุด้านล่าง:

Pipeline {agent ทุกสภาพแวดล้อม {ecr_registry = "your_ecr_registry_here" ecr_repository = "your_ecr_repository_here" docker_image_tag = "your_docker_image_tag_here" ที่เก็บ }:${DOCKER_IMAGE_TAG}") } } } stage("Push Docker image to ECR") { ขั้นตอน { script { withCredentials([[$class: 'AmazonWebServicesCredentialsBinding', accessKeyVariable: 'AWS_ACCESS_KEY_ID', secretKeyVariable: 'AWS_SECRET_ACCESS_KEY']] ) { docker.withRegistry("https://${ECR_REGISTRY}", "ecr:us-east-1:${AWS_ACCESS_KEY_ID}") { dockerImage.push("${ECR_REGISTRY}/${ECR_REPOSITORY}:${ DOCKER_IMAGE_TAG}") } } } } } } }

ตั้งค่าข้อมูลรับรอง AWS ใน Jenkins:

ก. ไปที่เจนกินส์ -> ข้อมูลประจำตัว

ข. คลิกที่ลิงค์ "ข้อมูลรับรองส่วนกลาง (ไม่จำกัด)"

ค. คลิกที่ปุ่ม "เพิ่มข้อมูลประจำตัว"

ง. เลือก "AWS Credentials" จากรายการแบบเลื่อนลงประเภท

อี ป้อน ID คีย์การเข้าถึง AWS และคีย์การเข้าถึงลับ

ฉ. คลิกที่ปุ่ม "ตกลง"

บันทึกงานไปป์ไลน์และเรียกใช้งาน Jenkins จะสร้างและส่งอิมเมจ Docker ไปที่ ECR

แค่นั้นแหละ! ตอนนี้ คุณได้ตั้งค่า Jenkins เพื่อส่งอิมเมจ Docker ไปยัง Amazon ECR ด้วยสคริปต์ Jenkins Pipeline