โจ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌํ๊ฒฝ ๊ตฌ์ฑํ๊ธฐ
๊ฐ. ์์ค์ฝ๋ ๋น๋ ๊ณผ์ ์ ์ดํด
1) ์ปดํ์ผ ์ธ์ด(C, C++ ๋ฑ)
: ํ๋ฒ์ ๊ธฐ๊ณ์ด๋ก ๋ณํํ๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ(๋ฒ์ญ) ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง ๋ฒ์ญ ํ ํ๋ก๊ทธ๋จ ์๋๊ฐ ๋น ๋ฅด๊ณ , ๋ณด์์ด ์ฐ์ํ๋ค.
โ
2) Byte Code ์ธ์ด(Java, C# ๋ฑ)
: ์ปดํ์ผ์ ๊ฒฐ๊ณผ๋ฌผ์ด ์คํํ์ผ์ด ์๋ 'class'๋ผ๋ ๋ฐ์ดํธ ์ฝ๋๋ก ํ์ผ์ ์์ฑํ์ฌ ๊ฐ์ ์คํํ๊ฒฝ์ธ JRE, CLI์์ ํ ์ค์ฉ ์คํํ๋ ๋ฐฉ์์ด๋ค.
โ
3) ์ธํฐํ๋ฆฌํฐ ์ธ์ด(Javascript, Python, Ruby ๋ฑ)
: ํ์ค์ฉ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ฒ ์๋ชจ๋์ด ์ปดํ์ผ(๋ฒ์ญ) ์๊ฐ์ ๋น ๋ฅด์ง๋ง ํ์ํ ๋ ๋ง๋ค ๋ฒ์ญ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ ์๋๋ ๋จ์ด์ง๋ค.
โ
๋. ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ(Release) ํ๊ฒฝ
์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๋ ๊ฐ๋ฐ์ ๋๋ ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ, ํ ์คํธํ ์ ์๋๋ก ์ปดํ์ผ๋ ํ๋ก๊ทธ๋จ, ์คํ์ ํ์ํ ๋ฆฌ์์ค(์ด๋ฏธ์ง, ํ๊ฒฝ์ค์ ํ์ผ ๋ฑ)๋ฅผ ์๋ฒ์์ ์ ํฉํ ์์น๋ก ์ด๋ํ๋ ์์ ์ ๋งํ๋ค.
โ
1) ์น ์๋ฒ(Web Server)
: ์ฌ์ฉ์์ ์์ฒญ์๋ฃ(์ ์ ์ธ ๋ฐ์ดํฐ : html, ๊ทธ๋ฆผ, ๋์์ ๋ฑ)์ ๊ฒฐ๊ณผ๊ฐ์ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํ์ฌ ์ ๊ณตํ๋ค.
โ
2) WAS(Web Application Server)
: ์ฌ์ฉ์์ ์์ฒญ์๋ฃ(๋์ ์ธ ๋ฐ์ดํฐ : ์ฐ์ฐ, ํ ์ด๋ธ ๊ฒ์, ์ฝ์ , ์ญ์ ๋ฑ)์ ๊ฒฐ๊ณผ๊ฐ์ ๋น ๋ฅด๊ฒ ์์ ์ ์ผ๋ก ์ฒ๋ฆฌํ์ฌ ์ ๊ณต๊ณตํ๋ค.
โ
๋ค. ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ๋จ์
1) jar(Java Archive)
: java ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ฆฌ์์ค, property ํ์ผ๋ค์ ํฌํจํ๋ค. ํ๋ก๊ทธ๋จ์์ ์ฐธ์กฐํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๊ตฌํ๋ ๋น์ฆ๋์ค ์๋น์ค๋ฅผ ๋ฐฐํฌํ ๋ jar ๋จ์๋ก ํจํค์งํ์ฌ ๋ฐฐํฌํ๋ค.
โ
2) war(Web Archive)
: ์น ์ผํ ์ด๋์ ๋ฐฐํฌ๋๋ ๋ฐฐํฌ ํ์์ผ๋ก Servlet, jar ํ์ผ๊ณผ WEB-INF ํด๋์ ์๋ web.xml ํ์ผ๋ก ๊ตฌ์ฑ๋๋ค. ์น ์ผํ ์ด๋์์ ๋ฐฐํฌ๋์ด ๋ ๋ฆฝ์ ์ธ UI ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค.
โ
3) ear(Enterprise Archive)
: jar์ war์ ๋ฌถ์ด์ ํ๋์ ์์ฑ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์๋น์ค๋ฅผ ์ ๊ณตํ ์ ์๋ค.
โ
๋ผ. ํ์๊ด๋ฆฌ(Configuration Management) ์์คํ
: ํ์๊ด๋ฆฌ(configuration management)๋ ํ์ํญ๋ชฉ์ ์๋ณํ์ฌ ๊ทธ ๊ธฐ๋ฅ์ , ๋ฌผ๋ฆฌ์ ํน์ฑ์ ๋ฌธ์ํํ๊ณ , ๊ทธ๋ฌํ ํน์ฑ์ ๋ณ๊ฒฝ, ์ ์ด, ์ฒ๋ฆฌ ์ํ๋ฅผ ๊ธฐ๋ก ๋ฐ ๋ณด๊ณ ํ๋ฉด์ ๋ช ์๋ ์๊ตฌ์ฌํญ์ ๋ถํฉํ๋์ง ํ์ธ ๋ฐ ๊ฐ๋ ํ๋ ํ๋์ ์๋ฏธํ๋ค.
โ
โ
โจ ์ ํ๋ฆฌ์ผ์ด์ ์์ค ๊ฒ์ฆํ๊ธฐ
๊ฐ. ์์ค์ฝ๋ ๊ฒ์ฆ๋๊ตฌ
1) ์ ์ ํ ์คํธ ๋๊ตฌ
: ํ ์คํธํ๊ธฐ ์ ์ ์ฝ๋ฉ์ค๋ฅ, ์ฑ๋ฅ์ ํ, ๋ณด์ ์ทจ์ฝ์ ๋ฑ์ ๊ฒฐํจ์ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ ์ ์๋๋ก ์ง์ํ๋ค. ์ด๋ ๊ฒ ํ์ฌ ํ๋ก๊ทธ๋จ ์์ฐ์ฑ ํฅ์๊ณผ ํ์งํฅ์์ ํ์ํ ๊ด๋ฆฌ ์์คํ ์ ๊ตฌ์ถํ๋ค.
โ
2) ๋์ ํ ์คํธ ๋๊ตฌ
: ํ ์คํธ ๋ฏธ์ํ ์ฝ๋๋ฅผ ํ์ธ ๋ฐ ์ฝ๋๊ตฌ์กฐ๊ฐ ์ถฉ๋ถํ ํ ์คํธ ๋์๋์ง ํ์ธํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ์ฑ์ ๋์ด๊ธฐ ์ํ ๊ด๋ฆฌ ์์คํ ์ ๊ตฌ์ถํ๋ค.
โ
๋. ์ฝ๋ ์ธ์คํ์
: ์ฝ๋ ์ธ์คํ์ ์ ์ ์ ํ ์คํธ์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ ํ์ผ๋ก, ์ฌ์ ์ ์ ์๋ ์ฝ๋ ์์ฑ ๊ท์น(Rule) ๊ธฐ๋ฐ์ผ๋ก ์์ค์ฝ๋๋ฅผ ์ ๊ฒํ์ฌ ์์ฑ ๊ท์น์ ์๋ฐ๋๋ ์์ค์ฝ๋๋ฅผ ์ถ์ถํ์ฌ ์ ๊ฒํ๋ค.
โ
1) ์ฝ๋ ์ธ์คํ์ Rule ์ ํ 3๊ฐ์งโ
๊ฐ) ์ฑ๋ฅ๊ฐ์
๋) ์ฝ๋ ์์ฑ ๊ท์น
๋ค) ์๋ฌ ๋ฐ์ ๊ฐ๋ฅ์ฑ
โ
2) ์ ๊ท ํํ์
: ์ ๊ท ํํ์์ ํน์ ํ ๊ท์น์ ๊ฐ์ง ๋ฌธ์์ด์ ์งํฉ์ ํํํ๋ ๋ฒ์ฉ์ ์ธ ๋ฐฉ์์ ๋งํ๋ค. ์ฝ๋ ์ธ์คํ์ ๋๊ตฌ์ ์ฝ๋ ์์ฑ ๊ท์น์ ์ผ๋ฐ์ ์ผ๋ก ์ ๊ท์์ผ๋ก ํํ๋๋ฉฐ, ์ ๊ท์์ ๋ด์ฉ์ ์์ ํด์ ์ ๊ฒ Rule์ ๋ด์ฉ์ ์์ ํ ์ ์๋ค.
โ
๋ค. ํ ์คํธ ํ๋ ์์ํฌ(๋์ ๋ถ์ ๋๊ตฌ)์ ๊ตฌ์ฑ
: ํ ์คํธ ํ๋ ์์ํฌ๋ ํ ์คํธ ์ผ์ด์ค๋ฅผ ๋ณ๋์ ํ ์คํธ ์ฝ๋๋ก ์์ฑํ๊ณ ๋์์ํฌ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๋๊ตฌ๋ก, ๊ฐ๋ฐ์์ ๋ฐ๋ณต์ ์ด๊ณ ์๊ฐ์ด ๋ง์ด ์์๋๋ ํ ์คํธ ์์ ์ ์๋ํํ์ฌ ํ ์คํธ์ ์์๋๋ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ์ ๊ฐํ ์ ์๊ฒ ํ๋ค.
โ
โ
โจ ์ ํ๋ฆฌ์ผ์ด์ ๋น๋ํ๊ธฐ
๊ฐ. ์ง์์ ์ธ ํตํฉ(CI: Continuous Integration) ํ๊ฒฝ
: ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ณผ์ ์ค ์ง์์ ์ผ๋ก ๊ฐ๋ฐ๋ ํ๋ก๊ทธ๋จ์ ํตํฉ, ๋น๋, ๋ฐฐํฌํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ ๋ด์ญ์ ๊ฒ์ฆ, ํ ์คํธํ ์ ์๋ ํ๊ฒฝ์ ๋งํ๋ค.
โ
๋. ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง
: ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง๋ ์ ์ฒด ํ๋ก๊ทธ๋จ์ ๋ฒ์ ๋๋น ํ ์คํธ ์ํ ์ ํด๋น ํ ์คํธ ์ํ์ ์ํด ๋์๋ ํ๋ก๊ทธ๋จ์ ๋ฒ์ ๋น์จ์ ์๋ฏธํ๋ค.
โ
๋ค. ๋น๋ ์ค์ผ์ค ๊ด๋ฆฌ๋๊ตฌ
: ๋น๋ ์ค์ผ์ค ๊ด๋ฆฌ๋๊ตฌ๋ ๋ณ๋์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๊ตฌ์ฑ๋์ด ์น ์๋ฒ์์ ๋ฐฐํฌ๋๊ณ , ์ด๋ฉ์ผ์ ํตํด์ ๊ด๋ จ ๊ฐ๋ฐ์, ๊ด๋ฆฌ์๋ค์๊ฒ ๋น๋ ์ํ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตโํ๋ค
โ
โ
โจ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌํ๊ธฐ
: ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ์ ์ฌ์ ์ ๋ถํ์ํ ์์ค์ฝ๋, ์์ ํ์ผ, ๋ฐฑ์ ํ์ผ ๋ฑ์ ๋ฐ๋์ ์ ๋นํ์ฌ ์์ ์ ์ผ๋ก ๋ฐฐํฌ ํ ์ ์๋๋ก ํ๋ค.
โป ์ถ์ ๊ธฐ์ค ( ์ ์ฉ๊ธฐ๊ฐ 2022๋ 1์ 1์ผ - 2024๋ 12์ 31์ผ )
โ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ์ฉ
โ ์์ฉ SW ๊ธฐ์ด ๊ธฐ์ ํ์ฉ
โ ์ ํ๋ฆฌ์ผ์ด์ ํ ์คํธ ์ํ
์ถ๊ฐ +
โ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์์ฉ (2001020230_19v4)
โ ๊ฐ๋ฐ์ ํ๊ฒฝ ๊ตฌ์ถ (LM2001020233_19v4)