Maven ตอน profile

marvel
ยัง ยัง ยังเล่นอยู่อีก

รอบที่แล้วได้คายเรื่อง resources ไป เรื่องต่อมาที่เกี่ยวเนื่องกันก็คือเรื่อง profiles 

ยกตัวอย่างง่ายๆเช่นตอนเราทำ Web app ขึ้นมา..

  • ตอนเรา dev เราต่อ DB เครื่องเราเอง
  • ทำเสร็จก็ต้องเอาไปลงเครื่อง Test server ให้ Tester ทดสอบซึ่งก็ต้องต่อ DB สำหรับเทส
  • ตอนส่งลูกค้าต่อ DB เครื่อง UAT หรือ Production

ไอ้ครั้นจะค่อยมาแก้ก่อน package มันก็มีโอกาสผิดพลาดได้ง่ายมาก โชคดีที่ Maven มี <profiles> ไว้สำหรับเรื่องนี้ โดยเราสามารถใส่ได้ดังนี้

2016-02-05 14_07_51-Java - struts2demo_pom.xml - Eclipse Platform
profile id=tumit ลงไปเปลี่ยน username/password เป็น tumit/789456

ตัวอย่างนี้เราเพิ่ม profile ที่ id=tumit ลงไป จากนั้นก็ mvn clean package กันเลย แต่…

2016-02-05 14_12_39-MINGW32__D_github_struts2demo
อ้าว! ทำไมยังเป็น admin/123456 ล่ะ?

ที่มันยังไม่เป็น tumit/789456 เพราะเรายังไม่ได้ระบุให้ Maven รู้ว่าเราใช้ profile tumit ในการ package ตัว Maven เลยไปเอาค่า default ใน properties มาใช้เหมือนเดิม

ดังนั้นเอาใหม่ใส่ mvn clean package -P tumit  เพื่อเป็นการบอกให้ Maven รู้ว่าเราจะใช้ profile อะไร

2016-02-05 14_17_00-MINGW32__D_github_struts2demo.png
เย้! เป็นแล้วๆ

ส่วนตัวใน properties ที่เป็นค่า default มักกำหนดไว้เป็นสำหรับเครื่องทดสอบ แล้วแยก profile ตอน dev เป็นชื่อตัวเอง, uat และ production ตอนจบมันก็เลยเป็นประมาณนี้2016-02-05 14_45_32-Java - struts2demo_pom.xml - Eclipse Platform.pngจบปิ๊ง สวัสดีcode:

    git clone git@github.com:tumit/struts2demo.gitgit pull origin mastergit checkout 6a1c629
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s