์ฐธ๊ณ : 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