Skip to main content

Setting a default shell and working directory

Define the default settings that will apply to all jobs in the workflow, or all steps in a job.

์ฐธ๊ณ : GitHub ํ˜ธ์ŠคํŠธ ์‹คํ–‰๊ธฐ๋Š” ํ˜„์žฌ GitHub Enterprise Server์—์„œ ์ง€์›๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. GitHub public roadmap์— ์˜ˆ์ •๋œ ํ–ฅํ›„ ์ง€์›์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Overview

defaults๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›Œํฌํ”Œ๋กœ์˜ ๋ชจ๋“  ์ž‘์—…์— ์ ์šฉํ•  ๊ธฐ๋ณธ ์„ค์ •์˜ map์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ž‘์—…์—๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ณธ ์„ค์ •์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ jobs.<job_id>.defaults๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‘˜ ์ด์ƒ์˜ ๊ธฐ๋ณธ ์„ค์ •์ด ๋™์ผํ•œ ์ด๋ฆ„์œผ๋กœ ์ •์˜๋˜๋ฉด GitHub๋Š” ๊ฐ€์žฅ ๊ตฌ์ฒด์ ์ธ ๊ธฐ๋ณธ ์„ค์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ž‘์—…์— ์ •์˜๋œ ๊ธฐ๋ณธ ์„ค์ •์€ ์›Œํฌํ”Œ๋กœ์— ์ •์˜๋œ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ๊ธฐ๋ณธ ์„ค์ •์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

Setting default shell and working directory

defaults.run์„ ์‚ฌ์šฉํ•˜์—ฌ ์›Œํฌํ”Œ๋กœ์˜ ๋ชจ๋“  run ๋‹จ๊ณ„์— ๊ธฐ๋ณธ shell ๋ฐ working-directory ์˜ต์…˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—…์—๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” run์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์„ค์ •์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ jobs.<job_id>.defaults.run๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ์ด ํ‚ค์›Œ๋“œ์—๋Š” ์ปจํ…์ŠคํŠธ ๋˜๋Š” ์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋‘˜ ์ด์ƒ์˜ ๊ธฐ๋ณธ ์„ค์ •์ด ๋™์ผํ•œ ์ด๋ฆ„์œผ๋กœ ์ •์˜๋˜๋ฉด GitHub๋Š” ๊ฐ€์žฅ ๊ตฌ์ฒด์ ์ธ ๊ธฐ๋ณธ ์„ค์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ž‘์—…์— ์ •์˜๋œ ๊ธฐ๋ณธ ์„ค์ •์€ ์›Œํฌํ”Œ๋กœ์— ์ •์˜๋œ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ๊ธฐ๋ณธ ์„ค์ •์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ: ๊ธฐ๋ณธ ์…ธ ๋ฐ ์ž‘์—… ๋””๋ ‰ํ„ฐ๋ฆฌ ์„ค์ •

defaults:
  run:
    shell: bash
    working-directory: ./scripts

Setting default values for a specific job

jobs.<job_id>.defaults๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์˜ ๋ชจ๋“  ๋‹จ๊ณ„์— ์ ์šฉํ•  ๊ธฐ๋ณธ ์„ค์ •์˜ map์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ „์ฒด ์›Œํฌํ”Œ๋กœ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์„ค์ •์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ defaults๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‘˜ ์ด์ƒ์˜ ๊ธฐ๋ณธ ์„ค์ •์ด ๋™์ผํ•œ ์ด๋ฆ„์œผ๋กœ ์ •์˜๋˜๋ฉด GitHub๋Š” ๊ฐ€์žฅ ๊ตฌ์ฒด์ ์ธ ๊ธฐ๋ณธ ์„ค์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ž‘์—…์— ์ •์˜๋œ ๊ธฐ๋ณธ ์„ค์ •์€ ์›Œํฌํ”Œ๋กœ์— ์ •์˜๋œ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ๊ธฐ๋ณธ ์„ค์ •์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

Setting default shell and working directory for a job

jobs.<job_id>.defaults.run์„(๋ฅผ) ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์˜ ๋ชจ๋“  run ๋‹จ๊ณ„์— ๊ธฐ๋ณธ๊ฐ’ shell ๋ฐ working-directory๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ž‘์—…์˜ ๋ชจ๋“  run ๋‹จ๊ณ„์— ๊ธฐ๋ณธ shell๋ฐworking-directory ์˜ต์…˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ์›Œํฌํ”Œ๋กœ์— ๋Œ€ํ•œ run์˜ ๊ธฐ๋ณธ ์„ค์ •์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ defaults.run๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ด๋Ÿฌํ•œ ๊ฒฝ๊ณ ๋Š” jobs.<job_id>.defaults.run ๋ฐ jobs.<job_id>.steps[*].run ์ˆ˜์ค€์—์„œ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‘˜ ์ด์ƒ์˜ ๊ธฐ๋ณธ ์„ค์ •์ด ๋™์ผํ•œ ์ด๋ฆ„์œผ๋กœ ์ •์˜๋˜๋ฉด GitHub๋Š” ๊ฐ€์žฅ ๊ตฌ์ฒด์ ์ธ ๊ธฐ๋ณธ ์„ค์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ž‘์—…์— ์ •์˜๋œ ๊ธฐ๋ณธ ์„ค์ •์€ ์›Œํฌํ”Œ๋กœ์— ์ •์˜๋œ ์ด๋ฆ„๊ณผ ๋™์ผํ•œ ๊ธฐ๋ณธ ์„ค์ •์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

Example: Setting default run step options for a job

jobs:
  job1:
    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash
        working-directory: ./scripts