Á¨Å²½º »ç¿ëÇÏ¿© ÀÚµ¿ ¹èÆ÷ȯ°æ ¸¸µé¾îº¸±â
±²ÀåÈ÷ ÁÖ°üÀûÀ¸·Î ȯ°æÀ» ±¸ÃàÇß½À´Ï´Ù. Æ©Å丮¾ó¼º ±ÛÀ̶ó±âº¸´Ü Çǵå¹éÀ» ¹Þ°íÀÚ ±ÛÀ» ÀÛ¼ºÇÏ°Ô µÇ¾ú½À´Ï´Ù. ¸¹Àº Çǵå¹é ºÎŹµå¸³´Ï´Ù..!
Á¨Å²½º »ç¿ëÇÏ¿© ÀÚµ¿ ¹èÆ÷ȯ°æ ¸¸µé±â!
(GitÀ¸·Î Çü»ó°ü¸®°¡ µÇ°í ÀÖ´Â Gradle ÇÁ·ÎÁ§Æ®¸¦ ±âÁØÀ¸·Î ÀÌ ±ÛÀÌ ÀÛ¼ºµÇ¾ú½À´Ï´Ù.)
°³¹ßȯ°æ°ú ¾îÇø®ÄÉÀÌ¼Ç ¼¹ö°¡ ºÐ¸®µÇ¾î ÀÖ°í, ¿©·¯ ¿ø°Ý ¼¹ö¸¦ °¡Áö°í ÀÖ´Â ±¸¼º¿¡¼ ¾îÇø®ÄÉÀ̼ÇÀ» ¹èÆ÷Çϱâ´Â ±²ÀåÈ÷ ±î´Ù·Ó½À´Ï´Ù.
ÇöÀç »óȲ
- GitlabÀ¸·Î Çü»ó°ü¸®
- ÀÛ¾÷¸Á°ú °³¹ß¸Á ºÐ¸®(´ë·« °³¹ßÇÏ´Â PC¿¡¼ºÎÅÍ °¢ ¾îÇø®ÄÉÀÌ¼Ç ¼¹ö±îÁö 3~4 Depth·Î ¸Á ºÐ¸®)
- Spring Framework
- Gradle or Maven Project
±¸½Ã´ëÀû ¹èÆ÷(?)!
Á¦°¡ °Þ¾îº» ȯ°æ ±âÁØÀ¸·Î ¿ø½ÃÀûÀÎ ¹èÆ÷ ¹æ¹ýÀ» ¸ÕÀú »ìÆ캸°Ú½À´Ï´Ù. (ÀÚ¼¼ÇÑ git flow³ª ¼¹ö ȯ°æÀº »ý·«)
- ¼öÁ¤µÈ »çÇ×À» Git¿¡ feature ºê·£Ä¡¿¡ Push ÇÕ´Ï´Ù.
- ·ÎÄà ȯ°æ¿¡¼ ÇÁ·ÎÁ§Æ®¸¦ ºôµå ÇÕ´Ï´Ù.
- ºôµå ¿Ï·áµÈ ÃßÃâ¹°(jar ¶Ç´Â war)¸¦ Å×½ºÆ® ¼¹ö·Î Àü¼Û ÇÕ´Ï´Ù.
- ¹èÆ÷ ½ºÅ©¸³Æ®¸¦ ÅëÇØ ¹èÆ÷ ÇÕ´Ï´Ù.
- Å×½ºÆ®¸¦ ÁøÇàÇÕ´Ï´Ù.(¼öÁ¤ »çÇ×ÀÌ ÀÖ´Ù¸é 1~5 ¹Ýº¹)
- Å×½ºÆ® ¿Ï·áµÈ ¹öÀüÀ» release ºê·£Ä¡¿¡ Push ÇÕ´Ï´Ù.
- ¹öÀú´× ÈÄ ·ÎÄà ȯ°æ¿¡¼ ÇÁ·ÎÁ§Æ®¸¦ ºôµå ÇÕ´Ï´Ù.
- ´Ù½Ã ºôµå ¿Ï·áµÈ ÃßÃâ¹°À» Áß¾Ó °ü¸® ¼¹ö·Î Àü¼Û ÇÕ´Ï´Ù.
- Áß¾Ó ¹èÆ÷ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¿© QA ¼¹ö·Î º¹»ç ¹× ¹èÆ÷ ÇÕ´Ï´Ù.
- QA°¡ ÁøÇàµË´Ï´Ù.(¼öÁ¤»çÇ×ÀÌ ÀÖ´Ù¸é 6~10 ¹Ýº¹)
- Áß¾Ó ¹èÆ÷ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¿© Product·Î º¹»ç ¹× ¹èÆ÷ ÇÕ´Ï´Ù.(¹«Áß´Ü ¹èÆ÷ Æ÷ÇÔ)
ÀÚ¼¼ÇÑ °úÁ¤Àº °ÅÀÇ »ý·«ÇÏ¿´°í ºôµå³ª ¿ø°Ý ¼¹ö·Î Àü¼Û µîÀ» ÁßÁ¡À¸·Î ±â¼úÇÏ¿´½À´Ï´Ù. À§ °úÁ¤À» º¸¸é Ǫ½Ã-ºôµå-Àü¼Û-¹èÆ÷ °úÁ¤
ÀÌ ±²ÀåÈ÷ ¸¹½À´Ï´Ù. ¹Ýº¹ÀûÀÎ °úÁ¤ÀÌ ¸¹½À´Ï´Ù.
¹®Á¦Á¡
¹èÆ÷ flow ¹× history
ÇöÀç ÁøÇàµÇ°í ÀÖ´Â ¹èÆ÷ÀÇ ÁøÇà»çÇ×À» ³»°¡ Á÷Á¢ ¸»·Î Çؾ߸¸ ÇÑ´Ù. ³ª ¶ÇÇÑ Çê°¥¸± ¼ö ÀÖ´Ù.
´©°¡ ¾ðÁ¦ ¹èÆ÷Çß°í, ¾î¶² À̽´°¡ ÀÖ¾ú´ÂÁö¸¦ ¼ö±â·Î ÀÛ¼ºÇÏ¿© È®ÀÎÇØ¾ß ÇÑ´Ù. Áï, ±²ÀåÈ÷ ±ÍÂù°í ¼ÓÀ̱⠽¬¿î ȯ°æÀÌ´Ù.
°³¹ß ȯ°æ
·ÎÄÿ¡¼ ºôµå°¡ µÇ±â ¶§¹®¿¡ ´Ù¸¥ »ç¶÷ÀÌ Äڵ带 ÇÑ ±ÛÀÚ¶óµµ ¼öÁ¤ÇÏ¿© ¹èÆ÷ÇÏ·Á¸é ÇØ´ç ÇÁ·ÎÁ§Æ®¿¡ ¸Â´Â °³¹ß ȯ°æÀ» ¼ÂÆÃÇؾ߸¸ ÇÑ´Ù.
Å×½ºÆ®
ÅëÇÕ Å×½ºÆ®¸¦ ÁøÇàÇÔ¿¡ ·ÎÄà ȯ°æÀ» ¹ÏÀ» ¼ö ÀÖÀ»±î?
±ÍÂú´Ù
Ǫ½Ã-ºôµå-Àü¼Û-¹èÆ÷¸¦ °è¼ÓÇØ¾ß ÇÑ´Ù. Á¤¸» ±ÍÂú´Ù. ¾ð±ÞÇÏÁö ¾Ê¾ÒÁö¸¸ ¿ø°Ý ¼¹ö·Î ºôµå ÃßÃâ¹°À» º¹»çÇÏ´Â depth°¡ ±²ÀåÈ÷ ±íÀº ȯ°æÀÌ ÀÖ´Ù.
±×·¡¼ Àú´Â ¹èÆ÷ ÀÚµ¿È¸¦ Çغ¸·Á Çß½À´Ï´Ù
Jenkins·Î ÀÚµ¿ ¹èÆ÷ ȯ°æ ¸¸µé±â
Jenkins¿¡ ´ëÇÑ ¼³¸íÀº ±²ÀåÈ÷ ¸¹±â ¶§¹®¿¡ »ý·«ÇÏ°Ú½À´Ï´Ù.
ÀÏ´Ü Jenkins¸¦ ¿Ã·Á¾ßÇÏ°í, Git°ú ¿¬µ¿ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ¿¡ ´ëÇؼµµ Àß Á¤¸®µÈ
âõÇâ·Î´ÔÀÇ docker¸¦ È°¿ëÇÑ CI ±¸Ãà ¿¬½ÀÇϱâ(Á¨Å²½º,½½·¢)¸¦
ÃßõÇÏ¿© ´ë½ÅÇÕ´Ï´Ù.
Jenkins 2.0ºÎÅÍ Áö¿øµÇ´Â Jenkins Pipeline
Àº ¾Æ·¡ ÀÛ¼ºÇÑ ³»¿ëº¸´Ù °·ÂÇÕ´Ï´Ù. ±ÛÀ» ÀçÀÛ¼ºÇßÀ¸´Ï, Jenkins Pipeline
±â¹ÝÀ¸·Î ÀÛ¼ºÀ» ¿øÇϽô ºÐµé²²¼´Â
http://kingbbode.tistory.com/42
·Î À̵¿ÇØÁÖ½Ã±æ ¹Ù¶ø´Ï´Ù.
Á¨Å²½ºÀÇ ¹èÆ÷ Ç÷ο츦 Áß½ÉÀ¸·Î ÀÌ ±ÛÀ» ÀÛ¼ºÇϸç Áö±ØÈ÷ °³ÀÎÀûÀ¸·Î »ý°¢ÇÏ¿© ÁøÇàÇÑ Ç÷οìÀ̱⿡ Çǵå¹éÀ» ±â´ëÇÕ´Ï´Ù.
ÁÖ »ç¿ë Jenkins ±â´É ¹× Ç÷α×ÀÎ
Build Pipeline Plugin
- ½±°Ô ¸»Çϸé Jobµé °£¿¡ °ü°è¸¦ Á¦°øÇÕ´Ï´Ù. Job °£ÀÇ ¼ø¼¿Í Æ®¸®°Å ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.
Parameterized Trigger Plugin
- Build Pipeline Plugin¿¡ Á¾¼Ó¼ºÀ» °¡Áö°í ÀÖ´Â Ç÷¯±×ÀÎÀ¸·Î, Æ®¸®°Å¿¡ Parameter¸¦ º¸³¾ ¼ö ÀÖ´Â ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.
dashboard-view
- Build Pipeline Plugin¿¡ Á¾¼Ó¼ºÀ» °¡Áö°í ÀÖ´Â Ç÷¯±×ÀÎÀ¸·Î ¿¬°ü °ü°è°¡ ÀÖ´Â Jobµé °£ÀÇ Dashboard¸¦ Á¦°øÇÕ´Ï´Ù.
Parameterized Build
- Parameter¸¦ »ç¿ëÇÏ¿© ºôµåÇÒ ¼ö Àִ ȯ°æÀ» Á¦°øÇÕ´Ï´Ù.
Step 1. ÇÁ·ÎÁ§Æ® Job »ý¼º
°¢ ÇÁ·ÎÁ§Æ®¸¦ ºôµåÇÏ´Â JobÀÌ ÇÊ¿äÇÕ´Ï´Ù. new Item
À» Ŭ¸¯ÇÑ ÈÄ
freestyle project
¸¦ »ý¼ºÇÕ´Ï´Ù.
git ƯÁ¤ ºê·£Ä¡¿Í Trigger ¿¬µ¿
1. Build Triggers
ÀÇ Build when a change is pushed to Git
À» ¼±ÅÃÇÕ´Ï´Ù.
2. Allowed brances
¿¡ Filter branches by regex
¸¦ ¼±ÅÃÇÏ°í Á¤±Ô½ÄÀ» »ç¿ëÇÏ¿© TriggerµÇ´Â ºê·£Ä¡¿Í ¿¬µ¿ÇÕ´Ï´Ù. Àú °°Àº °æ¿ì´Â ¸ðµç feature ÇÏÀ§ ºê·£Ä¡¸¦ ´ë»óÀ¸·Î Çß½À´Ï´Ù.
3. Source Code Management
¿¡¼´Â Brances to build
¿¡ feature ÇÏÀ§ ºê·£Ä¡¸¦ ºôµåÇϵµ·Ï ¼³Á¤ÇÕ´Ï´Ù.
Build
Àú °°Àº °æ¿ì´Â Invoke Gradle script
¸¦ »ç¿ëÇÏ¿© Gradle VersionÀ» ÁöÁ¤ÇØÁÖ°í, Task ¹× Build FileÀ» ÁöÁ¤ÇØÁÖ¾ú½À´Ï´Ù. Wrapper¸¦ »ç¿ëÇÏ¿© ´Ù¸¥ ¹æ¹ýÀ¸·Î ºôµåÇصµ »ó°ü¾ø½À´Ï´Ù. °¢ ÇÁ·ÎÁ§Æ®¿¡ ¸Â´Â Build ¼³Á¤À» ÇÕ´Ï´Ù.
ÀÌ °úÁ¤±îÁö´Â ¿©´À ÀÏ¹Ý Á¨Å²½º »ç¿ë°ú °°½À´Ï´Ù.
Step 2. °ø¿ë Job »ý¼º
°ø¿ë JobÀ̶õ ºôµå ÈÄ ÁøÇàµÉ °úÁ¤¿¡ ´ëÇÑ Job
À» ¸»ÇÕ´Ï´Ù.
Á¦ ±âÁØÀ¸·Î ÀÛ¼ºÇÏÀÚ¸é
- ºôµå ÃßÃâ¹°À» Áß¾Ó ¿ø°Ý ¼¹ö·Î Àü¼ÛÇÏ´Â
scp
Job - Áß¾Ó ¿ø°Ý ¼¹öÀÇ ¹èÆ÷½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ´Â
deploy
Job
À§ 2°¡Áö JobÀ» ¸¸µå·Á°í ÇÕ´Ï´Ù. ºôµå ÈÄ¿¡ ÁøÇàµÇ´Â °úÁ¤ÀÌ µ¿ÀÏÇϱ⠶§¹®¿¡ °¡´ÉÇÑ ±¸¼ºÀÔ´Ï´Ù.
°ø¿ë JobÀÌÁö¸¸, Àü¼ÛÇؾßÇÒ ÆÄÀÏÀÌ ´Ù¸£°í ¹èÆ÷ÇؾßÇÒ ¿ø°Ý ¼¹ö°¡ ´Ù¸¦ÅÙµ¥ ¾î¶»°Ô¶ó°í »ý°¢ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¶§ À¯¿ëÇÑ ±â´ÉÀÌ JenkinsÀÇ Parameterized
±â´ÉÀÔ´Ï´Ù.
´ÙÀ½ JobÀ¸·Î Parameter¸¦ ³Ñ±æ¼öµµ ÀÖ°í, ÇöÀç Job¿¡¼ »ç¿ëµÉ Parameter¸¦ Á¤ÀÇÇÒ ¼öµµ ÀÖ½À´Ï´Ù. Áï Àç»ç¿ëÀÌ °¡´ÉÇÏ´Ù´Â!
°øÅë
1. JobÀ» »ý¼ºÇÏ´Â ¹æ¹ýÀº ±âÁ¸°ú °°ÀÌ »ý¼ºÀ» ÇÕ´Ï´Ù.
2. This project is parameterized
¸¦ ¼±ÅÃÇÏ¿© ÀÌ ÇÁ·ÎÁ§Æ®°¡ ÆĶó¹ÌÅ͸¦ »ç¿ëÇÏ´Â JobÀÓÀ» üũÇÏ°í, ÇØ´ç ÀÛ¾÷¿¡¼ »ç¿ëÇÒ ÆĶó¹ÌÅ͸¦ Á¤ÀÇÇÕ´Ï´Ù.(¿©±â¼ Á¤ÀǵǴ ÆĶó¹ÌÅÍ´Â ÀÌÀü JobÀ» ÅëÇØ °ªÀ» ÁÖÀÔ¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.)
3. °ø¿ë JobÀº Git°ú ¹«°üÇϹǷΠSource Code Management
¸¦ None
À¸·Î üũÇÕ´Ï´Ù.
Scp Job
Scp JobÀº ºôµå ÃßÃâ¹°À» Áß¾Ó ¿ø°Ý ¼¹ö·Î Àü¼ÛÇÏ´Â ¿ªÇÒÀ» ÇÏ°Ô µË´Ï´Ù.
This project is parameterized
ÀÇ Add Parameter¸¦ »ç¿ëÇÏ¿© ÀÌ Job¿¡¼ ÇÊ¿äÇÑ ÆĶó¹ÌÅ͸¦ Á¤ÀÇÇÕ´Ï´Ù.
Àú´Â Scp¸¦ À§ÇØ ÇÊ¿äÇÑ Á¤º¸¸¦
- ¾î´À À§Ä¡¿¡ ÀÖ´Â war ÆÄÀÏÀÎÁö ¾Ë·ÁÁÖ´Â
TARGET
- ¿ø°Ý ¼¹öÀÇ ¾î¶² °æ·Î·Î Àü¼ÛÇØ¾ß ÇÏ´ÂÁö ¾Ë·ÁÁÖ´Â
REMOTE_PATH
·Î »ý°¢ÇÏ¿´½À´Ï´Ù.
1. »ç¿ëÇÒ ÆĶó¹ÌÅÍ Á¤ÀÇ
2. ÆĶó¹ÌÅ͸¦ »ç¿ëÇÏ´Â Execute shell Build Step
ÀÛ¼º
Àú´Â Scp JOBÀÌ ³¡³ ÈÄ¿¡´Â ´ÙÀ½¿¡ ¼³¸íÇÒ Deploy JOBÀ» ÀÚµ¿ ÁøÇà½ÃÅ°·Á°í ÇÕ´Ï´Ù. Deploy Job¿¡¼µµ ¾Æ¸¶ JobÀ» ±¸µ¿½ÃÅ°±â À§ÇÑ Á¤º¸°¡ ÇÊ¿äÇÒ °Í ÀÔ´Ï´Ù. ÀÌ ¶§ »ç¿ëÇÒ °ÍÀÌ Trigger parameterized build on other projects
±â´É ÀÔ´Ï´Ù.
3. Post-build Actions¿¡ Trigger parameterized build on other projects
StepÀ» Ãß°¡ÇÕ´Ï´Ù. Predefined parameters
¿¡ ´ÙÀ½°ú °°ÀÌ ³Ñ±æ ÆĶó¹ÌÅ͸¦ ÀÛ¼ºÇØÁÝ´Ï´Ù.
ÀÌ ¶§ ³Ñ°Ü¹ÞÀº ÆĶó¹ÌÅ͸¦ ±×´ë·Î »ç¿ë °¡´ÉÇÕ´Ï´Ù. Trigger¸¦ À§ÇØ ÇÊ¿äÇÑ ÆĶó¹ÌÅ͵µ ÃÖÃÊ Job¿¡°Ô ¹ÞÀ» ¼ö ÀÖµµ·Ï This project is parameterized
ÀÇ Add Parameter¸¦ ÅëÇØ ÀÛ¼ºÇÕ´Ï´Ù.
´ÙÀ½ ´Ü°è ÀÚµ¿ ÁøÇàÀÌ ¾Æ´Ñ Dashboard¸¦ ÅëÇÑ ¼öµ¿ ÁøÇàÀ» ÇÏ·Á¸é, Trigger parameterized build on other projects
´ë½Å Build other projects (manual step)À» »ç¿ëÇÏ¸é µË´Ï´Ù.
Deploy Job
Deploy JobÀº Áß¾Ó ¿ø°Ý ¼¹öÀÇ ¹èÆ÷ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ´Â ¿ªÇÒÀ» ÇÕ´Ï´Ù. ÀÌ ¹èÆ÷ ½ºÅ©¸³Æ®´Â argument·Î config ÆÄÀÏÀ» ¹Þ¾Æ ƯÁ¤ ¼¹ö·Î ¹èÆ÷¸¦ Çϵµ·Ï µÇ¾îÀÖ½À´Ï´Ù.
¿©±â¿¡¼´Â ÇÊ¿äÇÑ Á¤º¸¸¦, ¹èÆ÷ ½ºÅ©¸³Æ®¿¡¼ »ç¿ëµÉ argument¸¦ ¾Ë·ÁÁÖ´Â CONFIG
·Î »ý°¢ÇÏ¿´½À´Ï´Ù.
ÀÛ¼º °úÁ¤Àº Scp Job°ú °°½À´Ï´Ù.
1. »ç¿ëÇÒ ÆĶó¹ÌÅÍ Á¤ÀÇ
2. ÆĶó¹ÌÅ͸¦ »ç¿ëÇÏ´Â Execute shell Build Step
ÀÛ¼º
Step 3. ÇÁ·ÎÁ§Æ® Job¿¡ Scp Job ¿¬µ¿
Scp Job°ú Deploy JobÀ» ¿¬µ¿ÇÒ ¶§ »ç¿ëÇß´ø Post-build Actions
ÀÇ Trigger parameterized build on other projects
StepÀ» »ç¿ëÇÏ¿© Scp Job°ú ¿¬µ¿ÇÕ´Ï´Ù.
Scp Job¿¡¼ ÇÊ¿äÇÑ TARGET
, REMOTE_PATH
ÆĶó¹ÌÅÍ¿Í Deploy Job¿¡¼ ÇÊ¿äÇÑ CONFIG
Æĸ®¹ÌÅÍ°¡ ÇÊ¿äÇÕ´Ï´Ù.
Jenkins´Â °¢ ºôµå ȯ°æ¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â º¯¼ö¸¦ Á¦°øÇÕ´Ï´Ù. Jenkins Wiki¿¡¼ Jenkins Set Environment Variables
¸¦ Âü°íÇÏ¸é µË´Ï´Ù.
TARGET
ÆĶó¹ÌÅÍ¿¡¼´Â ${WORKSPACE}
º¯¼ö¸¦ »ç¿ëÇÏ¿´°í ±× ¿Ü ¼³Á¤ °ªÀº ÇÊ¿äÇÑ ³»¿ëÀ» ÀÛ¼ºÇÏ¿´½À´Ï´Ù.
Dashboard
¿©±â±îÁö ±¸¼ºÇß´Ù¸é ¾Æ¸¶ ¾Æ·¡¿Í °°ÀÌ Dashboard°¡ »ý¼ºµÉ °Í ÀÔ´Ï´Ù!
ºôµå È÷½ºÅ丮¸¦ º¼ ¼ö ÀÖ°í, °¢ Job¿¡¼ ½ÇÇàµÈ ³»¿ëÀ» Console·Î Live È®ÀÎÀÌ °¡´ÉÇϸç, ¼öµ¿ ºôµå¸¦ ¼±ÅÃÇß´Ù¸é ÁøÇà ¹öÆ°À» ÅëÇØ ´ÙÀ½ ´Ü°è¸¦ ÁøÇà ½Ãų ¼ö ÀÖ½À´Ï´Ù.
¸¶¹«¸®
ÀÌ·¸°Ô Çؼ GitÀÇ Æ¯Á¤ ºê·£Ä¡¿¡ Push¸¦ ÇßÀ» ¶§ ÀÚµ¿À¸·Î ¿ø°Ý ¼¹ö±îÁö ¹èÆ÷ÇÏ´Â °úÁ¤À» ¸¸µé¾î º¸¾Ò½À´Ï´Ù.
¾Æ·¡´Â Á¦°¡ ¸¸µç 꺿°ú ¿¬µ¿ÇÑ ºôµå °úÁ¤!
´Ù¸¥ ¾î´À °÷µµ º¥Ä¡¸¶Å·ÇÏÁö ¸øÇ߱⶧¹®¿¡(Á¤º¸°¡ ¾ø½À´Ï´Ù¤Ì¤Ì) Á¦ ¸¶À½´ë·Î ±¸¼ºÀ» Çغ¸¾Ò½À´Ï´Ù.. ´õ ³ªÀº ¹èÆ÷ ȯ°æÀ» À§ÇØ Çǵå¹é ÁÖ½Ã¸é °¨»çÈ÷ Àû¿ëÇغ¸°Ú½À´Ï´Ù. °¨»çÇÕ´Ï´Ù.
Ãâó: http://kingbbode.tistory.com/35?category=782132 [°³¹ß³ëÆ® - kingbbode]