วันอาทิตย์ที่ 28 กรกฎาคม พ.ศ. 2562

ลองใช้งาน Jenkins ไว้ Backup ข้อมูลแบบอัตโนมัติ

Jenkins เป็น Automate ที่ช่วยทำเกี่ยวกับ Software เช่นการ Build, Test, Deliver แล้วก็ Deploy
แต่ความคิดที่จะใช้งานครั้งนี้คือเอามา Backup ระบบ ลองดูว่าจะสามารถใช้งานได้ดีไหม และเหมาะสมไหม



Install Jenkins

เริ่มด้วยการติดตั้งกันก่อน Jenkins ทำงานอยู่บน Java เราจำเป็นต้องติดตั้ง Java กันก่อน
ตอนนี้ผมใช้ OpenJDK 8 ในการรัน Jenkins | ข้อมูลจาก Jenkins - Getting Started
sudo apt install openjdk-8-jdk

wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
java -jar jenkins.war --httpPort=8080

# เราจะเห็นรหัส สำหรับใช้ในการ Login เพื่อเข้าไปทำการติดตั้งในหน้าเว็บต่อ

จากนั้นเข้าไปที่เครื่องโดยผ่าน Port 8080 ตามที่เรากำหนดไว้เพื่อทำตามขั้นต่อการติดตั้งต่อ
ให้เราใช้รหัสที่ได้จาก Console ตอนที่เราใช้คำสั่ง "java -jar jenkins.war --httpPort=8080"

เลือก Install suggested plugins เพราะตอนนี้ยังไม่รู้ว่าต้องลงอะไรบ้าง

รอติดตั้งเสร็จ ตรงนี้อาจใช้เวลาหน่อย

เมื่อติดตั้ง Plugins เรียบร้อยแล้วก็ใส่ข้อมูลของ Admin ใช้ในการ Login ระบบครั้งต่อไป

กดปุ่ม Save and Finish ก็เสร็จแล้ว

เมื่อติดตั้งเสร็จแล้ว ก็จะแสดงหน้านี้รอให้เราสร้าง Jobs




Create My First Jobs

เมื่อทำการติดตั้งเสร็จแล้ว ตอนนี้เราจะลองสร้าง Job สัก 1 อันดูก่อนว่าเป็นอย่างที่เราคิดไหม
กดที่ Link [create new jobs] เพื่อสร้าง Job

ตั้งชื่อ Job ในรูปเราตั้งเป็น Freestyle และเลือก Freestyle project แล้วกดปุ่ม OK
ตั้งค่า Build Triggers ว่าเราต้องการให้ Build ตอนไหน
เราเลือก Build periodically และใส่ค่าเป็น H/5 * * * * หมายถึงทำทุกๆ 5 นาที

ตั้งค่า Build ว่าจะให้ทำอะไร
เราเลือกใช้ Execute shell โดยให้ใช้คำสั่ง echo $(date) แล้วกดปุ่ม Save

หลังจากกดปุ่ม Save เราจะเห็นหน้าโปรเจคที่เราสร้างเมื่อกี้

เมื่อเราไปหา Home ของ Jenkins เราจะเป็นว่ามี Job ของเราอยู่และมีสถานะต่างๆ บอกอยู่

รอสักพักหนึ่งให้เราทำการ Refresh ดูความเปลี่ยนแปลงเราจะเห็นว่า Job ของเราทำงานปกติ

เมื่อเราเข้ามาดู Job ที่ทำการสร้างไว้ และได้ทำงานไปแล้ว เราจะเห็นว่ามี History อยู่

เราสามารถกดเข้ามาดูรายละเอียดของแต่ละครั้งที่ทำงานไปแล้วได้

กดดู Console Output เพื่อดูผลจากคำสั่งที่เราตั้งไว้

เมื่อถึงตรงนี้เราได้ทำการเพิ่ม Script ที่ไม่มีลงไป แต่ Jenkins เมื่อทำ Job นั้นไปแล้ว ไม่ได้แสดง Error ออกมา
เราอาจต้องหาวิธีที่ทำให้ Jenkins รู้ว่าคำสั่งนี้มันทำงานไม่ถูกต้องหรือว่าใช้ตัวอื่นแทน เพราะใช้ผิดประเภทหรือเปล่า ???

การที่จะให้ Jenkins ขึ้นว่า Build Fail ให้เราใช้คำสั่ง exit 1 เราคิดว่าน่าจะพอช่วยได้
# Success
exit 0 

# Fail
exit 1

ไม่มีความคิดเห็น:

แสดงความคิดเห็น