ข้ามไปที่เนื้อหา

Setup Agent Pool

Agent Pool เป็น service สำหรับใช้ทำงานแทนตัวเราเอง Agent จะทำงานตาม Task ที่มีใน Pipeline ใน 1 Team จะประกอบไปด้วยหลาย Project จะต้องมีอย่างน้อย 1 Agent ต่อ 1 Team Agent สามารถ reuse ในโปรเจคอื่นๆในทีมได้ สร้างเพียงครั้งเดียวใช้ได้ตลอด ขั้นตอนการสร้าง Agent Pool มีดังนี้

  1. Project settings > Agent pool
  2. เลือก Add pool
  3. เลือก New ในกรณีที่ไม่เคยมี หรือเลือก Existing ในกรณีที่มี Pool อยู่แล้วหรือเคยสร้างไว้
  4. ตั้งชื่อ และกด Create
  5. เลือก Agent pool ที่ได้สร้างขึ้น
  6. เลือก New agent

Create Agent

การสร้าง Agent Pool

หลังจากเลือก New agent แล้วจะได้หน้าต่างสำหรับ setup agent ซึ่งจะต้องทำกระบวนการนี้บน remote server การเลือก server มาเป็น agent แนะนำให้อยู่ในเครื่องเดียวกับที่จะต้อง deploy เพราะเราจะสามารถ copy file ระหว่าง Devops และ server และใช้ในการ Deploy ได้เลย

Agent สามารถทำงานได้บน Windows, macOS และ Linux ในที่นี้ให้เลือก Linux ซึ่งขั้นตอนจะประกอบด้วย 5 ขั้นตอนดังนี้

Step1: Create Personal Access Token

สร้าง Personal Access Token ใช้สำหรับการใช้ Configure Agent Authenticate with a personal access token (PAT)

Step2: Download agent's file

File จะอยู่ในรูปที่ถูกบีบอัด .tar.gz สามารถดาว์นโหลดใน server ผ่านคำสั่ง wget [url]

  1. Copy download URL จากปุ่มข้าง ๆ ปุ่ม Download
  2. Remote เข้าไปที่ server และสร้าง folder ชื่อ agent-[agent-name] ด้วยคำสั่ง

    mkdir agent-[agent-name] && cd agent-[agent-name]
    

  3. ดาวน์โหลดไฟล์ด้วยคำสั่ง

    wget [download url]
    

Step3: Extract file

แตกไฟล์ที่ download ด้วยคำสั่ง tar zxvf [file name]

tar zxvf vsts-agent-linux-x64-{version}.tar.gz

version ของ agent สามารถเปลี่ยนแปลงได้ ให้อ้างอิงจากชื่อไฟล์หรือจากหน้าต่างคู่มือการติดตั้ง Agent

Step4: Configure agent

ตั้งค่า Agent โดยการใช้คำสั่ง ./config.sh หลังจากใช้คำสั่งแล้วจะขึ้นหน้าจอให้กรอกตามลำดับดังนี้

  1. Enter (Y/N) Accept the Team Explorer Everywhere license agreement now? (press enter for N) พิมพ์ Y เพื่อ accept license agreement
  2. Enter server URL ให้กรอก
    https://tfs-git.psu.ac.th/[your-team]
    
  3. Enter authentication type (press enter for PAT) สามารถกด Enter ได้เลย
  4. Enter personal access token ให้ ใส่ PAT ที่ได้จาก Step1
  5. Enter agent pool (press enter for default) ใส่ ชื่อ agent pool ตามที่ได้สร้างไว้
  6. Enter agent name (press enter for {username}) กำหนด ชื่อ agent สามารถกด Enter ได้เลย
  7. Enter work folder (press enter for _work) กำหนด directory การทำงานของ pipeline สามารถกด Enter ได้เลย
วิธีการแก้ไขปัญหา error "No usable version of libssl was found"

สามารถแก้ไขได้โดยการติดตั้ง OpenSSL version 1.1 โดยใช้คำสั่งดาว์นโหลด libssl ดังนี้

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
และติดตั้งด้วยคำสั่ง
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb
หลังจากติดตั้งแล้วให้ทำการ config อีกรอบด้วยคำสั่ง ./config.sh

Step5: Start agent service

Start agent service โดยจะเป็นการนำ Agent service ไปทำงานคู่กับระบบปฏิบัติการ สามารถทำได้ด้วยคำสั่ง

sudo ./svc.sh install
และคำสั่ง
sudo ./svc.sh start
อ่านคำสั่งเพิ่มเติมได้ที่ Running As A Service On Unix with systemd

Run agent with ./run.sh

ในกรณีที่ต้องการเปิดให้ agent service ทำงานเท่าที่ต้องการ service สามารถปิดตัวเองได้ให้ใช้คำสั่ง

./run.sh

การ run agent แบบ manual อาจเกิดปัญหาระหว่างการใช้งาน pipeline ได้จากเหตุการณ์ agent service ได้ปิดตัวเองไป

ตรวจสอบ Agent ว่าถูกต้องหรือไม่

สามารถตรวจสอบได้จาก

  1. เลือกเมนู project setting > agent pools
  2. เลือก agent pool ที่สร้างขึ้น
  3. เปิด tab Agents จะเห็นรายการ Agent ที่มี status Online แสดงว่า Agent ทำงานถูกต้องดังรูปตัวอย่าง

Online Agent

การตรวจสอบ Agent ที่ติดตั้งผ่าน Azure Devops