เริ่มต้น Jenkins part 4: Git & Maven บน Amazon EC2
ได้กลับมาต่อที่ Amazon EC2 กันเสียที หลังจากไปสร้างโปรเจกต์ด้วย Maven มาแล้ว part นี้จะติดตั้ง Git และ Maven บน Amazon EC2 ครับ
ก่อนจะถึงบทความนี้ ผมเขียนไปแล้ว 3 parts ดังนี้
part 1: Amazon EC2 server (ฟรี 12 เดือน)
และเหลือจัดเตรียม Jenkins อีกเล็กน้อย ซึ่งจะต่อที่ part นี้
part 2: ติดตั้ง Jenkins บนเครื่องเราเอง
เรียกว่าทำบน local server ต่างจาก part นี้ที่เนื้อหาเดียวกันจะทำบน Amazon EC2 server
part 3: โปรเจกต์ Maven และไฟล์ .war
เล่าภาพรวมและเรื่องราว สอน deploy ไฟล์ .war บน Apache Tomcat
ความตั้งใจของ part นี้คือ
- ติดตั้ง Git บน Amazon EC2
- ติดตั้ง Git Plugin แก่ Jenkins บน Amazon EC2
- ติดตั้ง Maven บน Amazon EC2
- กำหนด Maven Home แก่ Jenkins บน Amazon EC2
Remote to server
เพราะไม่ได้เข้ามาดูหลายวัน เปิด Terminal เพื่อคุยกับ Amazon EC2 server ใครจำไม่ได้ให้ไปอ่าน part 1
sudo ssh -i ~/Downloads/ec2-red-hat-t2micro-devops.pem ec2-user@X.X.X.X
จากนั้นตรวจสอบสถานะของ Jenkins เสียหน่อย
sudo service jenkins status
จัดการ Jenkins
เปิดหน้าเว็บ
<server public ip>:8080
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
รหัสที่ได้นำไปกรอกเลยจ้า
จากนั้นกด x ตรงมุมบนขวาไปก่อน ประดา plugin ต่างๆไว้มาเพิ่มทีหลังได้ เพิ่มเท่าที่ใช้พอ
กดปุ่ม Start using Jenkins
จากนั้นไปเปลี่ยน password ของ admin ให้เรียบร้อย
ทดลองสร้างโปรเจกต์แรกบน Jenkins ให้ชื่อว่า hello
เมนูด้านซ้าย กด New Item
เลือก Freestyle project เหตุเพราะเรายังไม่ได้ติดตั้ง plugin อื่นๆ
เลือก build step เป็น Execute shell
echo ออกไปสวัสดีพ่อบ้าน
บันทึกแล้วมองที่เมนูทางซ้าย กด Build Now
กดลูกบอลสีฟ้าไปชมดู
…โอ ตีสองกว่าแล้ว ไว้ผมเขียนต่อให้ในวันถัดไปนะครับ
ติดตั้ง Git บน Amazon EC2
จริงๆต้องบอกว่านี่เป็นการติดตั้ง Git บน Red Hat Server แต่เพื่อจะขายคำว่า Amazon EC2 ก็ขอให้เข้าใจตามนี้แล้วกันครับ
เปลี่ยนตนเองเป็น root ก่อน ก่อนหน้านี้ก็ลืมไป
sudo su -
ขอ Git มาลง
yum install git
ลองเรียกมัน
git --version
ผมได้
git version 2.18.1
เท่ากับว่าสำเร็จ
ติดตั้ง Git Plugin แก่ Jenkins บน Amazon EC2
ที่หน้าแรกของ Jenkins เลือกเมนู Manage Jenkins
เลือก Manage Plugins
เลือก Available
ค้นหาและเลือก GitHub กดปุ่ม Install without restart
เมื่อมัน Success ทุก process แล้ว ให้กลับไปเมนู Manage Jenkins อีกครั้ง คราวนี้มองหา Global Tool Configuration
ส่วนของ Git จะปรากฏออกมา ตั้งชื่อไปว่า GitHub หรือตามฝัน
จากนั้น apply และ save
ติดตั้ง Maven บน Amazon EC2
ตอนนี้เราเป็น root แล้วถูกไหม ตรงไปที่ home directory
cd /ls
จะเห็นหลาย folder เลย ให้มองหา opt folder แล้วเข้าไป
cd opt
หมายเหตุ opt folder นี้ใช้เก็บ extension programs ซึ่งเราจะติดตั้ง Maven ตรงนี้ สำหรับเนื้อหาโครงสร้างของ Linux เบื้องต้น อ่านที่
Google ไปว่า
maven download
มองหาแล้วคัดลอกลิงก์ของมันมา
จำได้ไหม เรามีตัวนี้ติดตั้งไว้แล้ว wget พิมพ์ไป
wget https://www-us.apache.org/dist/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
เครได้ของ
2019–12–04 03:53:20 (14.8 MB/s) — ‘apache-maven-3.6.3-bin.tar.gz’ saved
จากนั้นแกะมันออกมา
tar -zxvf apache-maven-3.6.3-bin.tar.gz
คำสั่งอะไร ไม่เข้าใจ ไม่รู้จัก ไม่เป็นไร ค้นหา
เครได้ของ
apache-maven-3.6.3
ขั้นต่อไปก็กำหนด PATH ให้กับ Maven เพื่อนๆจำไฟล์ .bash_profile ที่อยู่ home directory ได้ใช่ไหม ลุย
vi ~/.bash_profile
เพิ่ม
M2_HOME=/opt/apache-maven-3.6.3
M2=$M2_HOME/bin
และ
PATH=$PATH:$HOME/bin:$JAVA_HOME:$M2_HOME:$M2
บันทึกแล้วสั่งโหลดไฟล์
source ~/.bash_profile
อ่านเพิ่มเติมเกี่ยวกับ Maven Environment Setup
ลองเรียก
mvn --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /opt/apache-maven-3.6.3
Java version: 1.8.0_232, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09–2.el8_1.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: “linux”, version: “4.18.0–80.4.2.el8_0.x86_64”, arch: “amd64”, family: “unix”
หากไม่ได้ตามนี้ ให้ลองออกจาก root ก่อน
exit
แล้วกลับเข้าไปใหม่
sudo su -
กำหนด Maven Home แก่ Jenkins บน Amazon EC2
ที่หน้าแรกของ Jenkins เลือกเมนู Manage Jenkins เลือก Global Tool Configuration
มองไปยังส่วนของ Maven กดปุ่ม Add Maven
ตัวเลือก Install automatically ให้เอาออกไป
ตั้งชื่อว่า M2_HOME และกำหนด Maven Home path ให้เรียบร้อย
กด apply และ save
เป็นว่า part นี้ไว้เท่านี้ part หน้า เราจะนำ source code โปรเจกต์ HelloJenkins ไปฝากไว้กับ Github