컴공생의 다이어리

[GitHub Action] Matrix Strategy 본문

Development/Git

[GitHub Action] Matrix Strategy

컴공 K 2023. 3. 20. 00:01

[GitHub Action] Matrix Strategy

동일한 작업을 다양하게 실행시키고 싶다면 Matrix Strategy를 사용하면 된다. 여러 운영체제에서 테스트를 돌린다던지 여러 버전을 사용하여 테스트를 진행할 수 있다.

 

jobs.<job이름>.strategy.marix 하위에 job을 수행하고자 하는 matrix를 정의하면 정의된 변수들의 가능한 모든 조합의 수만큼 Job을 실행한다. step에서 matrix 변수를 사용할 때는 ${{ matrix.변수명 }} 의 형태로 사용해주면 된다. 아래 예시는 node-ver이 14, 16, 18인 경우에 대해서 node-version을 설정하여 돌리는 Job들을 수행한다.

jobs:
  test:
      runs-on: ubuntu-latest
    strategy:
      matrix:
        node-ver: [14, 16, 18]
    steps:
      - use: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-ver }}

 

 

앞서 matrix를 정의하면 정의된 변수들의 가능한 모든 조합의 수만큼 Job을 실행한다고 했다. 이에 대해 예시로 설명하자면 matrix로 아래와 같이 m1, m2가 정의된다면 (1, ㄱ), (1, ㄴ), (2, ㄱ), (2, ㄴ)의 조합으로 4번의 Job을 수행한다.

jobs:
  test:
      runs-on: ubuntu-latest
    strategy:
      matrix:
        m1: [1, 2]
        m2: [ㄱ, ㄴ]
    steps:
      - name: echo m1 & m2
        run: |
            echo ${{ matrix.m1 }}
            echo ${{ matrix.m2 }}

 

 

 

 

 

 

참고

 

GitHub Actions의 유용한 작업(job) 설정

Engineering Blog by Dale Seo

www.daleseo.com

 

Github Actions - Using a matrix

여러 환경에서 테스트를 해보고 싶을 땐 Matrix Strategy를 사용하자

velog.io

 

728x90
Comments