Skip to content

Latest commit

ย 

History

History
51 lines (46 loc) ยท 2.52 KB

File metadata and controls

51 lines (46 loc) ยท 2.52 KB

๊ด€๋ฆฌ์ž ๊ฐ€์ด๋“œ

Base์ฝ”๋“œ์™€ Test์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ

์Šคํ„ฐ๋””๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Base์ฝ”๋“œ์™€ Test์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Base ์ฝ”๋“œ๋Š” ๋‹ค์Œ ํด๋”์— ์œ„์น˜ํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

src/main/java/{Package}/study/weekN/

Test ์ฝ”๋“œ๋Š” ๋‹ค์Œ ํด๋”์— ์œ„์น˜ํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

src/test/java/{Package}/WeekNTests.java

Base ์ฝ”๋“œ๋กœ๋Š” Controller๋ฅผ ์ฃผ๊ณ  Test ์ฝ”๋“œ๋กœ๋Š” Controller์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

MockMvc๋ฅผ ์ด์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด Controller์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

MockMvc๋ฅผ ์ด์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

private final MockMvc mockMvc = MockMvcBuilders.standaloneSetup(new Week1HelloController()).build();

@Test
void helloWorldEndpoint() throws Exception {
    mockMvc.perform(get("/hello"))
            .andExpect(status().isOk())
            .andExpect(content().string("Hello World!"));
}

์ž๋™ merge ๋‚ ์งœ ๋ณ€๊ฒฝํ•˜๊ธฐ

์ž๋™ merge ๋‚ ์งœ๋Š” weekly-merge.yml ํŒŒ์ผ์—์„œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

on:
  schedule:
    - cron: '0 15 * * 0'

๊ธฐ๋ณธ์ ์œผ๋กœ ๋งค์ฃผ ์ผ์š”์ผ 15์‹œ(UTC)์— ์ž๋™ merge๊ฐ€ ์ง„ํ–‰๋˜๋„๋ก ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

cron ํ‘œํ˜„์‹์„ ์ด์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ๋‚ ์งœ์™€ ์‹œ๊ฐ„์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Self-hosted Runner ์„ค์ •ํ•˜๊ธฐ

๊ทœ๋ชจ๊ฐ€ ํฐ ์Šคํ„ฐ๋””์˜ ๊ฒฝ์šฐ GitHub Actions์˜ ๋ฌด๋ฃŒ ์‚ฌ์šฉ๋Ÿ‰์„ ์ดˆ๊ณผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ Self-hosted Runner๋ฅผ ์„ค์ •ํ•˜์—ฌ GitHub Actions๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ์„  Self-hosted Runner๋ฅผ ์„ค์ •ํ•ด์•ผ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ํ›„ weekly-merge.yml ํŒŒ์ผ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ˆ˜์ •ํ•˜์…”์•ผ ๋ฉ๋‹ˆ๋‹ค.

jobs:
  merge:
    runs-on: self-hosted

์ˆ˜๋™ Mergeํ•˜๊ธฐ

๋งŒ์•ฝ ์ž๋™ Merge๊ฐ€ ์ง„ํ–‰๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์‹ค์ˆ˜๋กœ Main๋ธŒ๋žœ์น˜์— ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ ์ˆ˜๋™์œผ๋กœ Actions๋ฅผ ํ†ตํ•œ Merge๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์ชฝ Actions ํƒญ์—์„œ Weekly Merge๋ฅผ ์„ ํƒํ•˜์—ฌ Run workflow๋ฅผ ๋ˆ„๋ฅด๋ฉด ์ˆ˜๋™์œผ๋กœ Merge๋ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ ์ถฉ๋Œ์˜ ์ด์œ ๋กœ Merge๊ฐ€ ์ง„ํ–‰๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ Issue๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ๊ฒฝ์šฐ Actions๋ฅผ ํ†ตํ•ด Mergeํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ง์ ‘ Mergeํ•˜์…”์•ผ ๋ฉ๋‹ˆ๋‹ค.