๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[Error Handling]

๐Ÿ˜ก contextLoads() FAILED : GithubActions์—์„œ ํ† ํฐ๊ฐ’์„ ์ฝ๊ฒŒ ํ•˜๊ธฐ

by ํŒกํŽ‘ํ 2023. 3. 18.
728x90

๐Ÿšจ Error :

 ์•„์ฃผ ์˜ค๋žœ๋งŒ์— GithubActions๋ฅผ ๋งŒ์กŒ๋‹ค. ๊ธฐ์ˆ ๋ฉด์ ‘์„ ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ๋””์Šค์ฝ”๋“œ ๋ด‡์˜ ๋ฆฌํŒฉํ† ๋ง์„ ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— GithubActions๋กœ ๋ฐฐํฌ ์ž๋™ํ™”๋ฅผ ํ•ด๋†“์„ ์ƒ๊ฐ์ด์—ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ Actions์— ์žˆ๋Š” Java With Gradle์„ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— commit ํ•˜๊ณ , Gradle.yml ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด AWS S3์— ์—…๋กœ๋“œํ•˜๋Š” ์ž‘์—…๋ถ€ํ„ฐ ์ง„ํ–‰ํ–ˆ๋‹ค. 
 ๊ทธ๋Ÿฐ๋ฐ, ๋นŒ๋“œ๊ฐ€ ๋ฐ”๋กœ ์‹คํŒจํ–ˆ๋‹ค. ๋‘ ๋‹ฌ ์—ฌ ์ „ ๋ฉ”์ธํ”„๋กœ์ ํŠธ์—์„œ ๊ฐ™์€ ์ผ์ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋•Œ ๋ธ”๋กœ๊ทธํ•œ ๋‚ด์šฉ์„ ๋ณด๊ณ  yml ํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ๋‹ค.(๊ด€๋ จ ๋งํฌ)

 

 

 

InterviewerApplicationTests > contextLoads() FAILED
    java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:98
        Caused by: org.springframework.beans.factory.BeanCreationException at AutowiredAnnotationBeanPostProcessor.java:405
            Caused by: java.lang.IllegalArgumentException at PropertyPlaceholderHelper.java:180
์–ด๋ผ..? ๋˜ ๋นŒ๋“œ๊ฐ€ ๋˜์ง€ ์•Š์•˜๋‹ค. build๊ฐ€ ์•ˆ๋˜๋Š” ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™์•˜๋‹ค.
์šฐ์„  githubActions ๋ฌธ์ œ์ธ์ง€ ํŒŒ์ผ ์ž์ฒด์˜ ๋ฌธ์ œ์ธ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ธํ…”๋ฆฌ์ œ์ด๋กœ ํ•ด๋‹น ํŒŒ์ผ์„ ๋นŒ๋“œํ•ด๋ณด์•˜๋‹ค.

 

 

 ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์™”๋‹ค. PropertyPlaceHolder๊ฐ€ ๋Ÿฐํƒ€์ž„ ์‹œ์— ์‹ค์ œ ๊ฐ’์œผ๋กœ ๋Œ€์ฒด๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ ์œ ํšจํ•˜์ง€ ์•Š์€ ๊ฐ’์ด ๋“ค์–ด๊ฐ”๊ฑฐ๋‚˜, ์•„์˜ˆ ๊ฐ’์ด ๋“ค์–ด๊ฐ€์ง€ ์•Š์€ ๋“ฏํ–ˆ๋‹ค. 

 


๐Ÿค“ ์›์ธ :

์Šคํ”„๋ง ๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ์ง์ ‘ ๊ฐ’์„ ์„ค์ •ํ•ด ์ค€ ๊ฑด ๋””์Šค์ฝ”๋“œ ์—ฐ๊ฒฐ์šฉ ํ† ํฐ๋ฐ–์— ์—†์—ˆ๋‹ค.
๊ทธ๋ ‡๋‹ค๋ฉด, ๋นŒ๋“œ ์‹œ ํ† ํฐ ๊ฐ’์„ ๋ชป ์ฝ๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ–ˆ๋‹ค.

 

IntelliJ - Edit configuration

 ๋‚˜๋Š” ํ˜„์žฌ ์™ธ๋ถ€ ๊ตฌ์„ฑ ์„ค์ •(?)์„ ํ†ตํ•ด ํ† ํฐ ๊ฐ’์„ ๋„ฃ๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์‹ค์ œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋ฉด ๋ฌธ์ œ์—†์ด ๋Œ์•„๊ฐ€์ง€๋งŒ, ๋นŒ๋“œ ์‹œ์—๋Š” ๊ฐ’์„ ์ฝ์–ด๋‚ด์ง€ ๋ชปํ•˜๋Š” ๋“ฏํ–ˆ๋‹ค.

 

 

๐Ÿš’ ํ•ด๊ฒฐ :

InterviewConfig

@PropertySource๋ฅผ ์‚ฌ์šฉํ•ด application.yml ํŒŒ์ผ์— ํ† ํฐ ๊ฐ’์„ ๋„ฃ๊ณ  ์ฝ๋Š” ๋ฐฉ์‹์œผ๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค.

@PropertySource์— ์œ„์˜ ์™ธ๋ถ€ ๊ตฌ์„ฑ ์„ค์ •์— ๋„ฃ์€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋„ ์ฝ๊ฒŒ ํ•˜๋Š” ๊ฒฝ๋กœ ์„ค์ •์ด ์žˆ๋Š”์ง€ ์ฐพ๋‹ค๊ฐ€ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์—†์–ด์„œ yml ํŒŒ์ผ์— ๋„ฃ๊ธฐ๋กœ ํ–ˆ๋‹ค.. ์–ด์ฐจํ”ผ GithubActions์—์„œ ํ…Œ์ŠคํŠธํ•˜๊ฑฐ๋‚˜, EC2์— ์žˆ๋Š” ํŒŒ์ผ์„ ๋นŒ๋“œํ•  ๋•Œ๋„ application.yml์„ ์ฝ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ์–ด์•ผ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ฒŒ ๊ณ ๋ฏผํ•˜์ง€ ์•Š์•˜๋‹ค. 

 

 

Gradle.yml

๋˜, Gradle.yml ํŒŒ์ผ์˜ ์ˆ˜์ •์ด ํ•„์š”ํ–ˆ๋‹ค. build ์ „์— ํ† ํฐ ๊ฐ’์„ yml ํŒŒ์ผ์— ๋„ฃ์–ด์ฃผ๊ฒŒ ํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ํ–ˆ๋‹ค.

 

 

Repository - Settings - Security Secrets and Variables - Actions

๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ์„ธํŒ…์—์„œ ํ† ํฐ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค. ์œ„์˜ Gradle.yml ํŒŒ์ผ๋กœ ๋นŒ๋“œ ์ž‘์—… ์‹œ์— ํ•ด๋‹น ํ† ํฐ ๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์‹œ์Šคํ…œ์ด๋‹ค.

 

 

๋นŒ๋“œ ์„ฑ๊ณต!

 


๐Ÿค” ์˜๋ฌธ์  :

์—†์Œ!

728x90