2023. 7. 5. 15:54ใSystem ์์ ์ค/DevOps
"์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค."
๐ ์ ํจ์ค Publish Over SSH Plugin
๐ฝ ๊ฐ์
๐ฆ ์๊ฐ
์ ํจ์ค๋ฅผ ์ด์ฉํ์ฌ ๋ฐฐํฌ๋ฅผ ์งํํ ๋, ์ค์ ์๋น์ค๊ฐ ๊ตฌ๋๋ ์๋ฒ์ Application์ ๋ํ ํ์ผ ๋ฑ์ ์ ์กํ๊ณ , ํ์ํ๋ค๋ฉด Shell Script๋ฅผ ๋์ ์์ผ ๊ตฌ๋ ๋ ์ ์๋๋ก ์ค์ ํด์ผ ํด์.
์ด ๋, ์ฌ๋ฌ ํ๋ฌ๊ทธ์ธ์ด ์์ง๋ง, ์ฃผ๋๊ฐ ์ฌ์ฉํ Publish Over SSH Plugin์ ํตํด ๋์ ์๋ฒ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ฆฌํด ๋ณด๋๋ก ํ ๊ฒ์.
๐ฝ ์ ํจ์ค
๐ฆ ํ๋ฌ๊ทธ์ธ ์ค์น
์ต์ด ์ ํ๋ฌ๊ทธ์ธ์ ์ค์นํด ์ฃผ์ด์ผ ์ค์ ๋ฐ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํด์.
๐ฝ Linux (Jenkins & Target Server)
๐ฆ ssh key ์์ฑ ๋ฐ ๋ฑ๋ก
์ด๋ฒ์๋ ์ ํจ์ค ์๋ฒ์ ๋์ ์๋ฒ์ ssh key ๊ฐ์ ์ ์ฅํ์ฌ ์ธ์ฆ ์์ด๋ ์ ์์ด ๊ฐ๋ฅํ๊ฒ ์ค์ ํด ๋ณผ๊ฑฐ์์.
์ต์ด ์ ํจ์ค ์๋ฒ์์ ์งํํ ํ
๋ฐ, ๋ง์ฝ ์ ํจ์ค๊ฐ ๋์ปค ์ปจํ
์ด๋๋ก ๊ตฌ์ฑ ๋์ด ์๋ค๋ฉด ์ ํจ์ค ์ปจํ
์ด๋ ๋ด๋ถ์์ ํ๋ ๊ฒ์ด ์๋๋ผ, ํด๋น ์ปจํ
์ด๋๊ฐ ์์นํ ๋ฆฌ๋
์ค ์๋ฒ์์ ์งํํด ์ฃผ์ด์ผ ํด์.
์ฃผ๋๋ ์ฐ๋ถํฌ ๋ฆฌ๋
์ค์ ๋์ปค๋ฅผ ์ด์ฉํด์ ์ ํจ์ค๋ฅผ ๊ตฌ๋ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฐฉ๋ฒ์ ๋ํด ์ ๋ฆฌํด ๋ณผ๊ฒ์.
์์ ๊ฐ์ด ์ ํจ์ค ์ปจํ
์ด๋๊ฐ ๊ธฐ๋์ค์ธ ์๋ฒ์ ์ ์ํ์์ด์.
์ต์ด ์ ๋ช
๋ น์ด๋ฅผ ํตํด ์ ํจ์ค๊ฐ ๊ตฌ๋์ค์ธ ์๋ฒ์ ssh Key๋ฅผ ์์ฑํด ์ฃผ์์ด์. rsa ๋ฐฉ์์ ๊ฐ์ธํค์ ๊ณต๊ฐํค๋ฅผ ๋ง๋ค์ด์ค์๋ ์์ง๋ง, ์ด๋ ์ ํจ์ค์์ ๊ถ์ฅํ๋ ๋ฐฉ์์ด ์๋๊ธฐ ๋๋ฌธ์ ecdsa ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉํ์ฌ ํค๋ฅผ ์์ฑํด ์ฃผ์์ด์.
๊ทธ๋ผ ์์ ๊ฐ์ด ํด๋น ๊ณ์ Home Directory์ SSH Key ๊ด๋ จ ํ์ผ์ด ์๋ ๊ฒ์ ํ์ธํ ์ ์์ด์.
์์ ๊ฐ์ด ์๋ช
๊ณต๊ฐํค๋ฅผ ์ถ๋ ฅํ์ฌ ์ฃผ๊ณ , ์ถ๋ ฅ๋ ๋ชจ๋ ๋ด์ฉ์ ๋ณต์ฌํ์ฌ ์ค๊ฒ์.
์ด์ Application์ ์ค์ ๊ตฌ๋ํ ๋์ ์๋ฒ๋ก ์ ์ํ๊ณ , cicd๊ฐ ์งํ๋ ๋ ์ด์ฉํ ๊ณ์ ์ผ๋ก ์ ์ํด ์ฃผ๋๋ก ํ ๊ฒ์.
์ฃผ์ํ ๊ฒ์ ๋ณด์์ ์ํด root๋ก๋ ํ์ง ์๋ ๊ฒ์ ๊ถ๊ณ ํ๊ธด ํ์ง๋ง, root๋ก ํ์ง ์์ผ๋ฉด mkdir๊ณผ ๊ฐ์ ๋ช
๋ น์ด ๊ถํ์ด ์๊ธฐ ๋๋ฌธ์ ์ ์์
์ ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ ์ ์์ด์.
๋ง์ฐฌ๊ฐ์ง๋ก ๋์ ์๋ฒ์์๋ ์์ ๊ฐ์ด ์๋ช
ํค๋ฅผ ๋ง๋ค์ด ์ฃผ์์ด์.
์ฐธ๊ณ ๋ก ํด๋น ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ๊ณ , ๊ณ์ Enter๋ฅผ ์ณ ์ฃผ๋ฉด ๋๋ต๋๋ค.
๊ทธ๋ฐ ๋ค ์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํด์ ์ ํจ์ค ์๋ฒ์์ ๋ง๋ ์๋ช
๊ณต๊ฐํค๋ฅผ ์
๋ ฅํด ์ค๊ฒ์.
๐ฝ ์ ํจ์ค
๐ฆ ๋์ ์๋ฒ ๋ฑ๋ก
์ด์ ์ด ๊ณณ์์ ์ ํจ์ค ์๋ฒ์ ์๋ช
๋น๋ฐํค๋ฅผ ๋ฑ๋กํด ์ค๊ฑฐ์์.
์ต์ด ์์ ๊ฐ์ด ์ค์ ๊ฐ์ ๋ฃ์ด์ฃผ๋๋ฐ, 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 ์๋ช
๋น๋ฐํค ๊ฐ์ ๋ณต์ฌํด์ ๋ฃ์ด์ฃผ์ด์ผ ํด์.
์์ ๊ฐ์ด ๋น๋ฐํค ๊ฐ์ ์ถ๋ ฅํ๊ณ , ์ถ๋ ฅ๋ ๋ชจ๋ ๋ด์ฉ์ ๋ณต์ฌํด ์ค๊ฒ์.
๊ทธ๋ฐ ๋ค ์ด ๊ณณ์ ๋ถ์ฌ๋ฃ์ด ์ค๊ฒ์.
๋๋จธ์ง ๋ถ๋ถ์ ๊ฑด๋ค ๊ฒ์ด ์๋๋ฐ, ๋ง์ฝ SSH Port๊ฐ 22๋ฒ์ด ์๋๊ณ ,
๋ค๋ฅธ ๊ฒ์ผ๋ก ๋ณ๊ฒฝํ๋ค๋ฉด Port์ ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํด ์ฃผ์ด์ผ ํด์.
๋ค ๋์์ผ๋ฉด ๋ฐ์ Test Configuraion์ ๋๋ฌ SSH ์ ์์ด ์ ์์ ์ผ๋ก ๋๋์ง ํ์ธํด ๋ณผ๊ฒ์.
์ด๋ ๊ฒ Success๊ฐ ๋์ค๋ฉด ์ ์์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๊ฒ์ด์์.
"์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก, ์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค."