[Jenkins] Publish Over SSH Plugin์„ ์ด์šฉํ•œ ๋Œ€์ƒ ์„œ๋ฒ„ SSH ์ด์šฉ

2023. 7. 5. 15:54ใ†System ์ž‘์—…์‹ค/DevOps

728x90
๋ฐ˜์‘ํ˜•

 

 



 

 

 

๋ฐฐํฌ ์ž๋™ํ™”์™€ ์ง€์†์  ์ธ๋„:๋„์ปค์™€ ์  ํ‚จ์Šค ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋กœ ๋งŒ๋“œ๋Š”

COUPANG

www.coupang.com

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."

 

 

๐Ÿš€ ์  ํ‚จ์Šค Publish Over SSH Plugin

    ๐Ÿ”ฝ ๊ฐœ์š”

        ๐Ÿ“ฆ ์†Œ๊ฐœ

์  ํ‚จ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ, ์‹ค์ œ ์„œ๋น„์Šค๊ฐ€ ๊ตฌ๋™๋  ์„œ๋ฒ„์— Application์— ๋Œ€ํ•œ ํŒŒ์ผ ๋“ฑ์„ ์ „์†กํ•˜๊ณ , ํ•„์š”ํ•˜๋‹ค๋ฉด Shell Script๋ฅผ ๋™์ž‘ ์‹œ์ผœ ๊ตฌ๋™ ๋  ์ˆ˜ ์žˆ๋„๋ก ์„ค์ •ํ•ด์•ผ ํ•ด์š”.

์ด ๋•Œ, ์—ฌ๋Ÿฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์žˆ์ง€๋งŒ, ์ฃผ๋‹ˆ๊ฐ€ ์‚ฌ์šฉํ•œ Publish Over SSH Plugin์„ ํ†ตํ•ด ๋Œ€์ƒ ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๋„๋ก ํ• ๊ฒŒ์š”.

 

 

 

    ๐Ÿ”ฝ ์  ํ‚จ์Šค

        ๐Ÿ“ฆ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜

์  ํ‚จ์Šค -> Jenkins ๊ด€๋ฆฌ -> Plugin Manager


์ตœ์ดˆ ์œ„ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•ด ์ฃผ์–ด์•ผ ์„ค์ • ๋ฐ ์—ฐ๊ฒฐ์ด ๊ฐ€๋Šฅํ•ด์š”.

 

    ๐Ÿ”ฝ Linux (Jenkins & Target Server)

        ๐Ÿ“ฆ ssh key ์ƒ์„ฑ ๋ฐ ๋“ฑ๋ก

์ด๋ฒˆ์—๋Š” ์  ํ‚จ์Šค ์„œ๋ฒ„์™€ ๋Œ€์ƒ ์„œ๋ฒ„์— ssh key ๊ฐ’์„ ์ €์žฅํ•˜์—ฌ ์ธ์ฆ ์—†์ด๋„ ์ ‘์†์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ์„ค์ •ํ•ด ๋ณผ๊ฑฐ์—์š”.

์ตœ์ดˆ ์  ํ‚จ์Šค ์„œ๋ฒ„์—์„œ ์ง„ํ–‰ํ• ํ…๋ฐ, ๋งŒ์•ฝ ์  ํ‚จ์Šค๊ฐ€ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋กœ ๊ตฌ์„ฑ ๋˜์–ด ์žˆ๋‹ค๋ฉด ์  ํ‚จ์Šค ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์—์„œ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์œ„์น˜ํ•œ ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„์—์„œ ์ง„ํ–‰ํ•ด ์ฃผ์–ด์•ผ ํ•ด์š”.

์ฃผ๋‹ˆ๋Š” ์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค์— ๋„์ปค๋ฅผ ์ด์šฉํ•ด์„œ ์  ํ‚จ์Šค๋ฅผ ๊ตฌ๋™ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณผ๊ฒŒ์š”.

docker ps -a


์œ„์™€ ๊ฐ™์ด ์  ํ‚จ์Šค ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๊ธฐ๋™์ค‘์ธ ์„œ๋ฒ„์— ์ ‘์†ํ•˜์˜€์–ด์š”.

ssh-keygen -t ecdsa -b 521 -m PEM

728x90


์ตœ์ดˆ ์œ„ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์  ํ‚จ์Šค๊ฐ€ ๊ตฌ๋™์ค‘์ธ ์„œ๋ฒ„์— ssh Key๋ฅผ ์ƒ์„ฑํ•ด ์ฃผ์—ˆ์–ด์š”. rsa ๋ฐฉ์‹์˜ ๊ฐœ์ธํ‚ค์™€ ๊ณต๊ฐœํ‚ค๋ฅผ ๋งŒ๋“ค์–ด์ค„์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์ด๋Š” ์  ํ‚จ์Šค์—์„œ ๊ถŒ์žฅํ•˜๋Š” ๋ฐฉ์‹์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ecdsa ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ด์šฉํ•˜์—ฌ ํ‚ค๋ฅผ ์ƒ์„ฑํ•ด ์ฃผ์—ˆ์–ด์š”.

cd ~/.ssh


๊ทธ๋Ÿผ ์œ„์™€ ๊ฐ™์ด ํ•ด๋‹น ๊ณ„์ • Home Directory์— SSH Key ๊ด€๋ จ ํŒŒ์ผ์ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

cat id_ecdsa.pub


์œ„์™€ ๊ฐ™์ด ์„œ๋ช… ๊ณต๊ฐœํ‚ค๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ ์ฃผ๊ณ , ์ถœ๋ ฅ๋œ ๋ชจ๋“  ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•˜์—ฌ ์ค„๊ฒŒ์š”. 



์ด์ œ Application์„ ์‹ค์ œ ๊ตฌ๋™ํ•  ๋Œ€์ƒ ์„œ๋ฒ„๋กœ ์ ‘์†ํ•˜๊ณ , cicd๊ฐ€ ์ง„ํ–‰๋  ๋•Œ ์ด์šฉํ•  ๊ณ„์ •์œผ๋กœ ์ ‘์†ํ•ด ์ฃผ๋„๋ก ํ• ๊ฒŒ์š”.

์ฃผ์˜ํ•  ๊ฒƒ์€ ๋ณด์•ˆ์„ ์œ„ํ•ด root๋กœ๋Š” ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ๊ถŒ๊ณ ํ•˜๊ธด ํ•˜์ง€๋งŒ, root๋กœ ํ•˜์ง€ ์•Š์œผ๋ฉด mkdir๊ณผ ๊ฐ™์€ ๋ช…๋ น์–ด ๊ถŒํ•œ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜ ์ž‘์—…์„ ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์–ด์š”.

ssh-keygen -t ecdsa -b 521 -m PEM


๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋Œ€์ƒ ์„œ๋ฒ„์—์„œ๋„ ์œ„์™€ ๊ฐ™์ด ์„œ๋ช…ํ‚ค๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ์–ด์š”.

์ฐธ๊ณ ๋กœ ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ , ๊ณ„์† Enter๋ฅผ ์ณ ์ฃผ๋ฉด ๋œ๋‹ต๋‹ˆ๋‹ค.

cd ~/.ssh

 

vim authorized_keys


๊ทธ๋Ÿฐ ๋’ค ์œ„ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์„œ ์  ํ‚จ์Šค ์„œ๋ฒ„์—์„œ ๋งŒ๋“  ์„œ๋ช… ๊ณต๊ฐœํ‚ค๋ฅผ ์ž…๋ ฅํ•ด ์ค„๊ฒŒ์š”.



 

 

 

    ๐Ÿ”ฝ ์  ํ‚จ์Šค

        ๐Ÿ“ฆ ๋Œ€์ƒ ์„œ๋ฒ„ ๋“ฑ๋ก

์  ํ‚จ์Šค ๊ด€๋ฆฌ -> Configure System


์ด์ œ ์ด ๊ณณ์—์„œ ์  ํ‚จ์Šค ์„œ๋ฒ„์˜ ์„œ๋ช… ๋น„๋ฐ€ํ‚ค๋ฅผ ๋“ฑ๋กํ•ด ์ค„๊ฑฐ์—์š”.


์ตœ์ดˆ ์œ„์™€ ๊ฐ™์ด ์„ค์ •๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋Š”๋ฐ, Name์— ์ž…๋ ฅ๋œ ๊ฐ’์€ ์ฐจํ›„ jenkins file์—์„œ ํ•ด๋‹น ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ด์šฉํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ, configName์— ์ž…๋ ฅํ•˜์—ฌ ํ•ด๋‹น ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ฃผ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ ์ ˆํ•œ ๊ฐ’์„ ๋„ฃ์–ด์ค˜์•ผ ํ•ด์š”.

๊ทธ๋ฆฌ๊ณ , Hostname์€ ๋Œ€์ƒ ์„œ๋ฒ„ IP์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•ด ์ค๋‹ˆ๋‹ค.

Username์€ SSH๋กœ ์ ‘์†๋  ๊ณ„์ • ์ด๋ฆ„์„ ์ ์–ด์ฃผ๋ฉด ๋˜์š”.

๊ทธ๋ฆฌ๊ณ , Remote Directory๋Š” SSH File ์ „์†ก ๋ฐ ๋ช…๋ น์–ด ๋™์ž‘๋“ฑ์„ ํ•  ๋•Œ,
Main์ด ๋  ๋Œ€์ƒ ์„œ๋ฒ„์— Directory Path๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์–ด์•ผ ํ•ด์š”.

๊ทธ๋Ÿฐ ๋’ค ๊ณ ๊ธ‰ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์ค๋‹ˆ๋‹ค.


Use password authentication, or use a different key 
ํ™œ์„ฑํ™” ํ•˜๊ณ , ๋‹ค๋ฅธ ๊ฒƒ์€ ๊ฑด๋“ค์ง€ ์•Š๊ณ , key ๋ถ€๋ถ„์— ์ฃผ๋ชฉํ• ๊ฒŒ์š”.

์ด ๊ณณ์— ์  ํ‚จ์Šค ์„œ๋ฒ„์˜ SSH ์„œ๋ช… ๋น„๋ฐ€ํ‚ค ๊ฐ’์„ ๋ณต์‚ฌํ•ด์„œ ๋„ฃ์–ด์ฃผ์–ด์•ผ ํ•ด์š”.

 

cat id_ecdsa

๋ฐ˜์‘ํ˜•


์œ„์™€ ๊ฐ™์ด ๋น„๋ฐ€ํ‚ค ๊ฐ’์„ ์ถœ๋ ฅํ•˜๊ณ , ์ถœ๋ ฅ๋œ ๋ชจ๋“  ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•ด ์ค„๊ฒŒ์š”.



๊ทธ๋Ÿฐ ๋’ค ์ด ๊ณณ์— ๋ถ™์—ฌ๋„ฃ์–ด ์ค„๊ฒŒ์š”.



๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ ๊ฑด๋“ค ๊ฒƒ์ด ์—†๋Š”๋ฐ, ๋งŒ์•ฝ SSH Port๊ฐ€ 22๋ฒˆ์ด ์•„๋‹ˆ๊ณ ,
๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค๋ฉด Port์˜ ๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•ด ์ฃผ์–ด์•ผ ํ•ด์š”.

๋‹ค ๋˜์—ˆ์œผ๋ฉด ๋ฐ‘์— Test Configuraion์„ ๋ˆŒ๋Ÿฌ SSH ์ ‘์†์ด ์ •์ƒ์ ์œผ๋กœ ๋˜๋Š”์ง€ ํ™•์ธํ•ด ๋ณผ๊ฒŒ์š”.


์ด๋ ‡๊ฒŒ Success๊ฐ€ ๋‚˜์˜ค๋ฉด ์ •์ƒ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ๊ฒƒ์ด์—์š”.




 

๋ฐฐํฌ ์ž๋™ํ™”์™€ ์ง€์†์  ์ธ๋„:๋„์ปค์™€ ์  ํ‚จ์Šค ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋กœ ๋งŒ๋“œ๋Š”

COUPANG

www.coupang.com

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."

 

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•