ในบทแนะนำสอนการใช้งานนี้ คุณจะได้เรียนรู้การสร้างไปป์ไลน์การเผยแพร่ซอฟต์แวร์แบบอัตโนมัติที่ปรับใช้แอปตัวอย่างสด คุณจะได้สร้างไปป์ไลน์โดยใช้ AWS CodePipeline ซึ่งเป็นบริการที่ช่วยสร้าง ทดสอบ และปรับใช้โค้ดของคุณทุกครั้งที่มีการเปลี่ยนแปลงโค้ด คุณจะได้ใช้บัญชี GitHub, บัคเก็ต Amazon Simple Storage Service (S3) หรือคลังเนื้อหา AWS CodeCommit เป็นตำแหน่งที่ตั้งต้นทางสำหรับโค้ดของแอปตัวอย่าง คุณยังจะได้ใช้งาน AWS Elastic Beanstalk เป็นเป้าหมายการปรับใช้แอปตัวอย่างด้วย ไปป์ไลน์ที่เสร็จสมบูรณ์ของคุณจะสามารถตรวจจับการเปลี่ยนแปลงที่เกิดขึ้นกับคลังเนื้อหาที่มีแอปตัวอย่างอยู่ และจากนั้นก็อัปเดตแอปตัวอย่างสดของคุณได้โดยอัตโนมัติ

การปรับใช้แบบต่อเนื่องจะช่วยให้คุณสามารถปรับใช้การแก้ไขไปยังสภาพแวดล้อมการผลิตอย่างอัตโนมัติ โดยไม่ต้องรอนักพัฒนาอนุมัติอย่างชัดเจน ทำให้ทั้งกระบวนการเผยแพร่ซอฟต์แวร์ดำเนินการไปได้โดยอัตโนมัติ

ทุกสิ่งที่ทำในบทแนะนำสอนการใช้งานนี้สามารถใช้กับ Free Tier ได้

จัดการทรัพยากร AWS ของคุณ

ลงชื่อเข้าใช้คอนโซล

ไปป์ไลน์การปรับใช้แบบต่อเนื่องของคุณจะต้องมีสภาพแวดล้อมเป้าหมายที่มีเซิร์ฟเวอร์เสมือน หรือ Amazon EC2 instance ที่จะปรับใช้โค้ดตัวอย่าง คุณจะต้องเตรียมสภาพแวดล้อมนี้ก่อนการสร้างไปป์ไลน์


ก. ในการลดความซับซ้อนของกระบวนการการตั้งค่าและกำหนดค่าของ EC2 instance สำหรับบทแนะนำสอนการใช้งานนี้ คุณจะได้ลองสร้างสภาพแวดล้อมตัวอย่างโดยใช้ AWS Elastic Beanstalk ก่อน Elastic Beanstalk ช่วยให้คุณสามารถโฮสต์เว็บแอปพลิเคชันโดยไม่ต้องเปิดใช้งาน กำหนดค่า หรือดำเนินการบนเซิร์ฟเวอร์เสมือนด้วยตัวเอง Elastic Beanstalk จะจัดเตรียมและดำเนินการโครงสร้างพื้นฐาน (เช่น เซิร์ฟเวอร์เสมือน โหลดบาลานเซอร์ เป็นต้น) และยังมอบสแตกแอปพลิเคชัน (เช่น OS, ภาษาและเฟรมเวิร์ก, เซิร์ฟเวอร์เว็บและแอปพลิเคชัน เป็นต้น) ให้แก่คุณด้วย


ข. เลือก PHP จากเมนูดรอปดาวน์จากนั้นคลิก Launch Now (เปิดใช้งานตอนนี้)

หมายเหตุ: หากคุณสร้างแอปพลิเคชัน Elastic Beanstalk แล้วก่อนหน้านี้ ให้คลิก: Create New Application (สร้างแอปพลิเคชันใหม่) ที่มุมบนขวา ตั้งชื่อแอปพลิเคชันของคุณและสร้างสภาพแวดล้อมเว็บเซิร์ฟเวอร์ใหม่ เลือก PHP เป็นแพลตฟอร์มของคุณและเลือก Single Instance (อินสแตนซ์เดี่ยว) เป็นประเภทสภาพแวดล้อม หากคุณวางแผนที่จะเข้าสู่ระบบอินสแตนซ์ของคุณจากทางไกล ให้เลือกคู่คีย์ หรือปล่อยตัวเลือกที่เหลือให้เป็นค่าเริ่มต้นและสร้างสภาพแวดล้อมสำหรับไปป์ไลน์การปรับใช้แบบต่อเนื่อง

(คลิกเพื่อซูม)


ค. Elastic Beanstalk จะเริ่มสร้างสภาพแวดล้อมตัวอย่างสำหรับคุณเพื่อปรับใช้แอปพลิเคชันของคุณ โดย Elastic Beanstalk จะสร้าง Amazon EC2 instance, กลุ่มรักษาความปลอดภัย, กลุ่ม Auto Scaling, บัคเก็ต Amazon S3, การแจ้งเตือน Amazon CloudWatch และชื่อโดเมนสำหรับแอปพลิเคชัน

หมายเหตุ: ขั้นตอนนี้ใช้เวลาหลายนาทีจึงจะเสร็จสมบูรณ์

(คลิกเพื่อซูม)

ในขั้นตอนนี้ คุณจะได้รับสำหรับโค้ดของแอปตัวอย่างและเลือกแหล่งข้อมูลเพื่อโฮสต์โค้ดนั้นๆ ไปป์ไลน์จะรับโค้ดจากแหล่งข้อมูลจากนั้นดำเนินการบนแหล่งข้อมูลดังกล่าว

คุณยังสามารถเลือกใช้แหล่งข้อมูล 1 จาก 3 ตัวเลือกได้แก่: คลังเนื้อหา GitHub, บัคเก็ต Amazon S3, หรือคลังเนื้อหา AWS CodeCommit เลือกตัวเลือกที่คุณต้องการจากนั้นดำเนินการตามขั้นตอนด้านล่างนี้:

 

  • GitHub

    ก. หากคุณต้องการใช้บัญชี GitHub:

    • เยี่ยมชมคลังเนื้อหา GitHub เพื่อดูโค้ดตัวอย่างได้ที่ https://github.com/awslabs/aws-codepipeline-s3-aws-codedeploy_linux 
    • แบ่งสำเนาคลังเนื้อหาไปยังบัญชี GitHub ของคุณเองโดยคลิกที่ปุ่ม Fork มุมบนขวา

    (คลิกเพื่อซูม)

  • Amazon S3

    ก. หากคุณวางแผนที่จะใช้ Amazon S3 เป็นแหล่งข้อมูลของคุณ คุณจะต้องเรียกใช้โค้ดตัวอย่างจากคลังเนื้อหา AWS GitHub บันทึกโค้ดไปยังคอมพิวเตอร์ของคุณ และอัปโหลดไปยังบัคเก็ต Amazon S3

    (คลิกเพื่อซูม)


    ข. บันทึกไฟล์ต้นทางไปยังคอมพิวเตอร์ของคุณ:

    • คลิกไฟล์ชื่อ aws-codepipeline-s3-aws-codedeploy_linux.zip 
    • คลิก View Raw (ดูรายการดิบ)
    • บันทึกไฟล์ตัวอย่างไปยังคอมพิวเตอร์ของคุณ

    (คลิกเพื่อซูม)


    ค. คลิกที่นี่เพื่อเปิดคอนโซล Amazon S3 และสร้างบัคเก็ต Amazon S3 ของคุณ:

    • คลิก Create Bucket (สร้างบัคเก็ต)
    • Bucket Name: พิมพ์ชื่อที่ไม่ซ้ำกันให้กับบัคเก็ตของคุณ เช่น awscodepipeline-demobucket-variables  ชื่อบัคเก็ตทั้งหมดใน Amazon S3 จะต้องแตกต่างกัน ฉะนั้นให้คุณใช้ชื่อที่คิดเอง ไม่ใช่ชื่อที่แสดงบนตัวอย่าง
    • Region: ในเมนูดรอปดาวน์ ให้เลือกเขตที่คุณจะสร้างไปป์ไลน์ เช่น US Standard (มาตรฐานสหรัฐอเมริกา) 
    • คลิก Create (สร้าง)

    (คลิกเพื่อซูม)


    ง. คอนโซลนี้จะแสดงบัคเก็ตที่เพิ่งสร้างซึ่งจะยังว่างอยู่

    • คลิก Properties (การกำหนดคุณสมบัติ)
    • เปิด Versioning (การจัดเวอร์ชัน) จากนั้นเลือก Enable Versioning (เปิดใช้งานการจัดเวอร์ชัน) เมื่อเปิดใช้งานการจัดเวอร์ชันแล้ว Amazon S3 จะบันทึกอ็อบเจกต์ทุกเวอร์ชันในบัคเก็ต

    (คลิกเพื่อซูม)


    จ. คุณจะต้องอัปโหลดโค้ดตัวอย่างไปยังบัคเก็ต Amazon S3: 

    • คลิก Upload (อัปโหลด)
    • ดำเนินการตามคำสั่งบนหน้าจอเพื่ออัปโหลดไฟล์ zip ที่มีโค้ดตัวอย่างที่คุณดาวน์โหลดจาก GitHub

    (คลิกเพื่อซูม)

  • AWS CodeCommit

    ก. หากคุณวางแผนที่จะใช้ AWS CodeCommit เป็นแหล่งข้อมูลของคุณ คุณจะต้องเรียกใช้โค้ดตัวอย่างจากคลังเนื้อหา AWS GitHub บันทึกโค้ดไปยังคอมพิวเตอร์ของคุณ และอัปโหลดไปยังคลังเนื้อหา AWS CodeCommit

    (คลิกเพื่อซูม)


    ข. บันทึกไฟล์ต้นทางไปยังคอมพิวเตอร์ของคุณ:

    • เลือกไฟล์ชื่อ aws-codepipeline-s3-aws-codedeploy_linux.zip 
    • เลือก View Raw (ดูรายการดิบ)
    • บันทึกไฟล์ตัวอย่างไปยังคอมพิวเตอร์ของคุณ

    (คลิกเพื่อซูม)


    ง. คลิกที่นี่เพื่อเปิดคอนโซล AWS CodeCommit และเลือก เริ่มต้นใช้งาน

    (คลิกเพื่อซูม)


    จ. บนหน้า Create new repository (สร้างคลังเนื้อหาใหม่):

    • Repository name: ให้ป้อน PipelineRepo
    • เลือก Create repository (สร้างคลัง)

    (คลิกเพื่อซูม)


    ฉ. เชื่อมต่อกับคลังเนื้อหาของคุณจากนั้นเผยแพร่สำเนาไฟล์ตัวอย่างไปยังคลังเนื้อหานั้นๆ  หากต้องการคำแนะนำ ให้ดูที่ Connect to an AWS CodeCommit Repository

ในขั้นตอนนี้ คุณจะได้สร้างและกำหนดค่าไปป์ไลน์อย่างง่ายด้วยสองขั้นตอน นั่นคือ ค้นหาแหล่งข้อมูลและปรับใช้ คุณจะต้องป้อนตำแหน่งที่ตั้งของคลังเนื้อหาและสภาพแวดล้อมการปรับใช้ให้แก่ CodePipeline


ก. คลิกที่นี่เพื่อเปิดคอนโซล AWS CodePipeline

  • ในหน้าต้อนรับ ให้คลิก Create pipeline (สร้างไปป์ไลน์) 
  • หากคุณเพิ่งใช้งาน AWS CodePipeline เป็นครั้งแรก หน้าแนะนำจะแสดงขึ้นมาแทนหน้าต้อนรับ คลิก Get Started (เริ่มต้นใช้งาน)

(คลิกเพื่อซูม)


ข. ในหน้า Step 1: Name:

  • Pipeline name: ให้ป้อนชื่อไปป์ไลน์ของคุณ DemoPipeline 
  • คลิก Next step (ขั้นตอนถัดไป)

หมายเหตุ: หลังจากที่คุณสร้างไปป์ไลน์แล้ว คุณจะไม่สามารถเปลี่ยนชื่อไปป์ไลน์ได้อีก

(คลิกเพื่อซูม)


ค. ในหน้า Step 2: Source ให้เลือกตำแหน่งที่ตั้งของแหล่งข้อมูลที่คุณเลือก จากนั้นดำเนินการตามขั้นตอนต่อไปนี้:

  • GitHub

    Source Provider: GitHub

    • ในส่วน Connect to GitHub ให้คลิกConnect to GitHub (เชื่อมต่อกับ GitHub)
    • หน้าต่างเบราว์เซอร์ใหม่จะเปิดขึ้นเพื่อเชื่อมต่อคุณกับ GitHub หากระบบแจ้งให้ลงชื่อเข้าใช้ ให้ป้อนข้อมูลประจำตัว GitHub ของคุณ 
    • ระบบจะขอให้คุณอนุญาตการเข้าถึงของแอปพลิเคชันกับบัญชีของคุณ เลือก Authorize application (อนุมัติการเข้าถึง)

    (คลิกเพื่อซูม)


    ระบุคลังเนื้อหาและรุ่น:

    • Repository: ในรายการดรอปดาวน์ ให้เลือกคลังเนื้อหา GitHub ที่คุณต้องการใช้เป็นตำแหน่งที่ตั้งแหล่งข้อมูลสำหรับไปป์ไลน์ของคุณ คลิกที่คลังเนื้อที่แบ่งออกมาในบัญชี GitHub ของคุณที่มีโค้ดตัวอย่างที่ชื่อว่า aws-codepipeline-s3-aws-codedeploy_linux 
    • Branch: ในรายการดรอปดาวน์ ให้เลือกรุ่นที่คุณต้องการใช้งาน เช่น master
    • คลิก Next step (ขั้นตอนถัดไป)

    (คลิกเพื่อซูม)

  • Amazon S3

    Source provider: Amazon S3

    • Amazon S3 location: พิมพ์ชื่อของบัคเก็ต Amazon S3 ที่คุณสร้างขึ้นแล้วตามด้วยชื่อไฟล์ตัวอย่างที่คุณคัดลอกไปยังบัคเก็ตนั้น (aws-codepipeline-s3-aws-codedeploy_linux.zip) ตัวอย่างเช่น หากคุณตั้งชื่อบัคเก็ตของคุณไว้ว่า awscodepipeline-demobucket-variable คุณก็จะต้องป้อน : s3://awscodepipeline-demobucket-variable/aws-codepipeline-s3-aws-codedeploy_linux.zip
    • คลิก Next step (ขั้นตอนถัดไป)

    (คลิกเพื่อซูม)

  • AWS CodeCommit

    Source provider: AWS CodeCommit

    • Repository name: เลือกชื่อคลังเนื้อหา AWS CodeCommit ของคุณ 
    • Branch name: เลือกชื่อรุ่นที่มีไฟล์ตัวอย่างอยู่
    • คลิก Next step (ขั้นตอนถัดไป)

    (คลิกเพื่อซูม)


ง. ไปป์ไลน์การปรับใช้แบบต่อเนื่องแท้จริงจะต้องอาศัยขั้นตอนการสร้างที่โค้ดจะได้รับการรวบรวมแบบทดสอบหน่วย CodePipeline ให้คุณสามารถใส่ผู้ให้บริการการสร้างไปยังไปป์ไลน์ของคุณได้ อย่างไรก็ตาม บทแนะนำสอนการใช้งานนี้จะข้ามขั้นตอนการสร้างไป

  • ในหน้า Step 3: Build ให้เลือก No Build (ไม่สร้าง)
  • คลิก Next step (ขั้นตอนถัดไป)

 

(คลิกเพื่อซูม)


จ. ในหน้า Step 4: Beta 

  • ผู้ให้บริการการปรับใช้: ให้คลิก AWS Elastic Beanstalk
  • Application name: ให้คลิก My First Elastic Beanstalk
  • Environment name: ให้คลิก Default-Environment
  • คลิก Next step (ขั้นตอนถัดไป)

หมายเหตุ: ชื่อ "Beta" คือชื่อที่ตั้งที่เป็นค่าเริ่มต้นของขั้นตอนนี้ของไปป์ไลน์ เช่นเดียวกันกับชื่อ “Source” เป็นชื่อที่ตั้งไว้ในขั้นตอนแรกของไปป์ไลน์

(คลิกเพื่อซูม)


ฉ. ในหน้า Step 5: Service Role:

  • Service Role: ให้คลิก Create role (สร้างบทบาท)
  • คุณจะถูกนำทางไปยังหน้าคอนโซล IAM ซึ่งจะอธิบายถึงบทบาท AWS-CodePipeline-Service ที่ระบบจะสร้างไว้ให้คุณ คลิก Allow อนุญาต
  • หลังจากที่คุณสร้างบทบาทแล้ว คุณจะกลับไปยังหน้า Step 5: Service Role ที่ชื่อ AWS-CodePipeline-Service จะปรากฏใน Role name คลิก Next step (ขั้นตอนถัดไป)

หมายเหตุ: การสร้างบทบาทของบริการจะทำได้เพียงครั้งแรกที่คุณสร้างไปป์ไลน์ใน AWS CodePipeline เท่านั้น หากสร้างบทบาทของบริการแล้ว คุณจะสามารถเลือกบทบาทได้จากเมนูดรอปดาวน์บทบาท เนื่องจากรายการดรอปดาวน์จะแสดงบทบาทบริการของ IAM ทั้งหมดที่เกี่ยวข้องกับบัญชีของคุณ หากคุณเลือกชื่อที่ต่างไปจากค่าเริ่มต้น ให้ตรวจสอบให้แน่ใจว่าชื่อนั้นๆ เป็นที่แสดงถึงบทบาทการบริการนั้นๆ สำหรับ AWS CodePipeline ได้เป็นอย่างดี

(คลิกเพื่อซูม)

ในขั้นตอนนี้ คุณจะได้เปิดใช้ไปป์ไลน์ของคุณ เมื่อสร้างไปป์ไลน์แล้ว ไปป์ไลน์จะเริ่มทำงานในทันที ขั้นแรก ไปป์ไลน์จะตรวจจับโค้ดแอปตัวอย่างในตำแหน่งที่ตั้งแหล่งข้อมูลของคุณ รวมไฟล์เข้าไว้ด้วยกัน จากนั้นย้ายไปยังขั้นตอนที่สองที่คุณกำหนดไว้ ระหว่างขั้นตอนนี้ ไปป์ไลน์จะส่งโค้ดไปยัง Elastic Beanstalk ซึ่งมี EC2 instance ที่จะโฮสต์โค้ดของคุณอยู่ Elastic Beanstalk จะจัดการส่งต่อโค้ดไปยัง EC2 instance


ก. ในหน้า Step 6: Review ให้ตรวจสอบข้อมูล และคลิก Create pipeline (สร้างไปป์ไลน์)

(คลิกเพื่อซูม)


ข. หลังจากสร้างไปป์ไลน์แล้ว หน้าสถานะไปป์ไลน์ก็จะแสดงขึ้นและไปป์ไลน์ก็จะเริ่มทำงาน คุณสามารถดูความคืบหน้าและข้อความแสดงความสำเร็จและล้มเหลวในขณะที่ไปป์ไลน์ทำงานอยู่ได้

เพื่อยืนยันว่าไปป์ไลน์ของคุณทำงานอย่างถูกต้อง ให้เฝ้าติดตามความคืบหน้าของไปป์ไลน์ขณะที่ดำเนินการในแต่ละขั้นตอน สถานะของแต่ละขั้นตอนจะเปลี่ยนจาก No executions yet (ยังไม่มีการดำเนินการ) เป็น In Progress (กำลังดำเนินการ) จากนั้นเปลี่ยนเป็น Succeeded (สำเร็จ) หรือ Failed (ล้มเหลว) การทำงานของไปป์ไลน์ในครั้งแรกควรจะเสร็จสิ้นในไม่กี่นาที

(คลิกเพื่อซูม)


ค. ในส่วนสถานะสำหรับขั้นตอนเบต้า ให้คลิกAWS Elastic Beanstalk 

(คลิกเพื่อซูม)


ง. คอนโซล AWS Elastic Beanstalk จะแสดงขึ้นพร้อมรายละเอียดการปรับใช้

  • คลิกที่สภาพแวดล้อมที่คุณสร้างขึ้นก่อนหน้านี้ที่มีชื่อว่า Default-Environment 

(คลิกเพื่อซูม)


จ. คลิกที่ URL ที่ปรากฏอยู่ที่ส่วนขวาบนของหน้าเพื่อดูเว็บไซต์ตัวอย่างที่คุณจะปรับใช้

(คลิกเพื่อซูม)

ในขั้นตอนนี้ คุณจะต้องแก้ไขโค้ดตัวอย่าง แล้วบันทึกการเปลี่ยนแปลงไปยังคลังเนื้อหาของคุณ CodePipeline จะตรวจจับโค้ดตัวอย่างที่อัปเดตแล้วของคุณจากนั้นจะดำเนินการปรับใช้ไปยัง EC2 instance ของคุณผ่าน Elastic Beanstalk 

โปรดทราบว่าหน้าเว็บตัวอย่างที่คุณปรับใช้นั้นอ้างอิงมาจาก AWS CodeDeploy ซึ่งเป็นบริการที่ปรับใช้โค้ดโดยอัตโนมัติ ใน CodePipeline นั้น CodeDeploy ทำหน้าที่เป็นทางเลือกในการใช้งาน Elastic Beanstalk สำหรับการดำเนินการปรับใช้ มาลองอัปเดตโค้ดตัวอย่างเพื่อให้โค้ดแสดงสถานะได้ถูกต้อง ว่าคุณได้ปรับใช้ตัวอย่างแล้วโดยใช้ Elastic Beanstalk

  • GitHub

    ก. ไปที่สำเนาคลังเนื้อหาที่คุณแบ่งไว้ใน GitHub

    • เปิด index.html
    • เลือกไอคอน Edit (แก้ไข)

    (คลิกเพื่อซูม)


    ข. อัปเดตหน้าเว็บโดยการคัดลอกและวางข้อความต่อไปนี้ในบรรทัดที่ 30: 

    คุณได้สร้างไปป์ไลน์ที่จะรับแอปพลิเคชันแหล่งข้อมูลนี้จาก GitHub และปรับใช้กับ Amazon EC2 instance โดยใช้ AWS Elastic Beanstalk เหลืออีกเพียงขั้นตอนเดียวเท่านั้นในการปรับใช้แบบต่อเนื่อง!

    (คลิกเพื่อซูม)


    ค. บันทึกการเปลี่ยนแปลงไปยังคลังเนื้อหาของคุณ

    (คลิกเพื่อซูม)

  • Amazon S3

    ก. ใช้คอมพิวเตอร์เดสก์ท็อป ไปที่ไฟล์ zip ที่คุณดาวน์โหลดมาที่มีชื่อว่า aws-codepipeline-s3-aws-codedeploy_linux.zip


    ข. แก้ไขโค้ดเว็บแอปพลิเคชันตัวอย่าง:

    • แตกไฟล์ index.html ออกจากไฟล์ zip และเปิดไฟล์นั้นโดยใช้ตัวแก้ไขข้อความที่ต้องการ 
    • อัปเดตข้อความส่วนหัวหลังคำว่า “Congratulations!” เพื่อให้ระบบอ่านข้อมูลได้:

    คุณได้สร้างไปป์ไลน์ที่จะรับแอปพลิเคชันแหล่งข้อมูลนี้จาก Amazon S3 และปรับใช้กับ Amazon EC2 instance โดยใช้ AWS Elastic Beanstalk เหลืออีกเพียงขั้นตอนเดียวเท่านั้นในการปรับใช้แบบต่อเนื่อง!”

    • คัดลอกไฟล์ index.html กลับไปยัง aws-codepipeline-s3-aws-codedeploy_linux.zip เพื่อแทนที่เวอร์ชันที่เก่ากว่านั้น

    (คลิกเพื่อซูม)


    ค. อัปโหลดไฟล์ที่แก้ไขแล้วอีกครั้งไปยังบัคเก็ต Amazon S3:

    • กลับไปยังบัคเก็ต S3 ที่คุณสร้างไว้ก่อนหน้านี้ 
    • อัปโหลดไฟล์ aws-codepipeline-s3-aws-codedeploy_linux.zip ที่อัปเดตแล้วไปยังบัคเก็ต 

    หมายเหตุ: เนื่องจากคุณได้เปิดใช้งานการจัดเวอร์ชันไว้แล้วตอนที่คุณสร้างบัคเก็ต S3 ฉะนั้น S3 จึงได้ทำสำเนาไฟล์ของคุณไว้ทุกเวอร์ชัน

    (คลิกเพื่อซูม)

  • AWS CodeCommit

    ก. ไปที่ไฟล์ zip ที่มีโค้ดตัวอย่างที่คุณดาวน์โหลดมาที่มีชื่อว่า aws-codepipeline-s3-aws-codedeploy_linux.zip


    ข. แก้ไขโค้ดเว็บแอปพลิเคชันตัวอย่าง:
     
    • แตกไฟล์ index.html ออกจากไฟล์ zip และเปิดไฟล์นั้นโดยใช้ตัวแก้ไขข้อความที่ต้องการ 
    • จากนั้น อัปเดตข้อความส่วนหัวหลังคำว่า “Congratulations!” เพื่อให้ระบบอ่านข้อมูลได้:

    คุณได้สร้างไปป์ไลน์ที่จะรับแอปพลิเคชันแหล่งข้อมูลนี้จาก AWS CodeCommit และปรับใช้กับ Amazon EC2 instance โดยใช้ AWS Elastic Beanstalk เหลืออีกเพียงขั้นตอนเดียวเท่านั้นในการปรับใช้แบบต่อเนื่อง!

    (คลิกเพื่อซูม)


    ค. บันทึกและส่งต่อไฟล์ zip ที่อัปเดตแล้วของคุณไปยังคลังเนื้อหา CodeCommit ของคุณ


ง. กลับไปยังไปป์ไลน์ในคอนโซล CodePipeline ในไม่กี่นาที คุณจะเห็นว่าส่วน Source เปลี่ยนเป็นสีน้ำเงิน ซึ่งบ่งบอกว่าไปป์ไลน์ได้ตรวจพบการเปลี่ยนแปลงที่คุณสร้างขึ้นกับคลังเนื้อหาแหล่งข้อมูล หากเหตุการณ์นี้เกิดขึ้น ระบบจะย้ายโค้ดที่อัปเดตแล้วไปยัง Elastic Beanstalk โดยอัตโนมัติ

  • หลังจากสถานะไปป์ไลน์แสดงขึ้นว่า สำเร็จแล้ว ในส่วนสถานะสำหรับขั้นตอนเบต้า ให้คลิกที่ AWS Elastic Beanstalk

(คลิกเพื่อซูม)


จ. คอนโซล AWS Elastic Beanstalk จะแสดงขึ้นพร้อมรายละเอียดการปรับใช้ เลือกสภาพแวดล้อมที่คุณสร้างขึ้นก่อนหน้านี้ที่มีชื่อว่า Default-Environment

(คลิกเพื่อซูม)


ฉ. คลิกที่ URL ที่ปรากฏอยู่ที่ส่วนขวาบนของหน้าเพื่อดูเว็บไซต์ตัวอย่างอีกครั้ง  ข้อความของคุณจะได้รับการอัปเดตโดยอัตโนมัติผ่านไปป์ไลน์การปรับใช้ต่อเนื่อง

 

(คลิกเพื่อซูม)

ในการป้องกันไม่ให้มีค่าใช้จ่ายเพิ่มเติมภายหลัง คุณจะต้องลบทรัพยากรที่คุณเปิดใช้ไปตลอดบทแนะนำสอนการใช้งานนี้ทั้งหมด ซึ่งรวมถึงไปป์ไลน์ แอปพลิเคชัน Elastic Beanstalk และแหล่งข้อมูลที่คุณสร้างไว้เพื่อโฮสต์โค้ด  


ก. ขั้นแรก คุณจะต้องลบไปป์ไลน์ของคุณก่อน:

  • ในมุมมองไปป์ไลน์ ให้คลิก Edit (แก้ไข) 
  • คลิก Delete (ลบ)
  • พิมพ์ชื่อไปป์ไลน์ของคุณ จากนั้นคลิก Delete (ลบ)

(คลิกเพื่อซูม)


ข. ขั้นที่สอง ให้ลบแอปพลิเคชัน Elastic Beanstalk ของคุณ:

  • ไปที่คอนโซล Elastic Beanstalk 
  • คลิก Actions (การดำเนินการ)
  • จากนั้นคลิก Terminate Environment (ยกเลิกสภาพแวดล้อม)

(คลิกเพื่อซูม)

  • Amazon S3

    ค. หากคุณสร้างบัคเก็ต S3 ไว้สำหรับบทแนะนำสอนการใช้งานนี้ ให้ลบบัคเก็ตนั้นเสีย:

    • ไปที่คอนโซล S3 
    • คลิกขวาที่ชื่อบัคเก็ต จากนั้นเลือก Delete Bucket (ลบบัคเก็ต) 
    • เมื่อข้อความยืนยันปรากฏขึ้น ให้ป้อนชื่อบัคเก็ตจากนั้นคลิก Delete (ลบ)

    (คลิกเพื่อซูม)

  • AWS CodeCommit

    ค. หากคุณสร้างคลังเนื้อหา AWS CodeCommit สำหรับบทแนะนำสอนการใช้งานนี้ ให้ไปที่คอนโซล CodeCommit และลบคลังเนื้อหาที่คุณสร้างขึ้น:

    (คลิกเพื่อซูม)


    ค. ในบานหน้าต่างนำทาง ให้เลือก Settings (การตั้งค่า)

    • คลิก Delete Repository (ลบคลังเนื้อหา)
    • หน้าต่างยืนยันจะแสดงขึ้น พิมพ์ชื่อคลังเนื้อหาของคุณ จากนั้นคลิก Delete (ลบ)

    (คลิกเพื่อซูม)

คุณได้สร้างไปป์ไลน์เผยแพร่ซอฟต์แวร์อัตโนมัติโดยใช้ AWS CodePipeline สำเร็จแล้ว! ด้วย CodePipeline คุณสามารถสร้างไปป์ไลน์ที่ใช้งาน GitHub Amazon S3 หรือ AWS CodeCommit เป็นตำแหน่งที่ตั้งแหล่งข้อมูลสำหรับโค้ดแอปพลิเคชันและปรับใช้โค้ดกับ Amazon EC2 instance ที่จัดการโดย AWS Elastic Beanstalk ได้ ไปป์ไลน์ของคุณจะปรับใช้โค้ดของคุณทุกครั้งที่มีการเปลี่ยนแปลงโค้ด เหลืออีกเพียงขั้นตอนเดียวเท่านั้นในการปรับใช้แบบต่อเนื่อง!

เมื่อคุณได้เรียนรู้เกี่ยวกับการสร้างไปป์ไลน์ง่ายๆ โดยใช้ AWS CodePipeline แล้ว คุณสามารถเรียนรู้เพิ่มเติมได้โดยไปที่ทรัพยากรต่อไปนี้

  • สร้างไปป์ไลน์ขั้นสูงที่ประกอบไปด้วย 4 ขั้นตอนการทำงานได้โดยดำเนินการตามคู่มือนี้ ไปป์ไลน์นี้ใช้งานคลังเนื้อหา GitHub สำหรับแหล่งข้อมูลของคุณ รวมถึงใช้งาน Jenkins Build Server เพื่อสร้างและทดสอบโปรเจกต์ และแอปพลิเคชัน AWS CodeDeploy เพื่อปรับใช้โค้ดที่สร้างไปยังเซิร์ฟเวอร์ที่ดำเนินการ
  • เริ่มต้นไปป์ไลน์ 4 ขั้นตอนได้อย่างรวดเร็วด้วย Jenkins Build Server โดยใช้เครื่องมือเริ่มต้นใช้งานไปป์ไลน์ของเรา
  • เรียนรู้เพิ่มเติมเกี่ยวกับการนำส่งแบบต่อเนื่อง