ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 다수의 프로젝트 병렬로 빌드&배포하기
    Developer 2024. 2. 6. 15:15
    728x90

    > PC랑 M 프로젝트 실서버 배포 진행하겠습니다~
    > git pull PC
    > ... PC build ...
    > ... PC baepo ...
    > git pull M ...
    > .........


    저희 팀의 배포 방식은 순차대로 짜여진 쉘스크립트를 실행하는 방식입니다.
    그냥 쉘스크립트 하나만 실행하기만 하면 두 개의 프로젝트가 빌드&배포가 되기에 편리했었죠.
    하지만 PC가 빌드&배포 된 후, M이 빌드&배포가 되기에 하나의 프로젝트를 빌드&배포하는 것의 2배가 되는 시간이 걸리게 됩니다.

    🔑 두 프로젝트가 동시에 빌드&배포될 수는 없을까?

    순차적으로 빌드&배포가 되어야 할 프로트트들이 아니라면 동시에 빌드&배포가 되면 시간을 좀 더 줄일 수 있지 않을까 싶었습니다.
    빌드하는 작업을 백그라운드로 실행시키면 되지 않나?라는 생각으로 시작했습니다.

    쉘스크립트 명령어 중 && 명령어를 자주 사용하게 되는데, && 명령어는 앞의 명령어의 실행이 끝난 뒤 다음 명령어를 실행하도록 합니다.
    이와 유사한 & 명령어가 있습니다. & 명령어는 앞의 명령어를 백그라운드로 실행시키고 다음 명령어를 실행하도록 합니다.

    & 명령어를 활용하면 되겠다!

    🎊 &명령어로 병렬 실행하는 쉘 스크립트 만들기

    #!/bin/bash
    
    # 작업 1을 백그라운드에서 실행
    task1() {
        # 작업 1 실행 명령어
        sleep 5 # 예시로 5초간 대기
        echo "작업 1 완료"
    }
    
    # 작업 2를 백그라운드에서 실행
    task2() {
        # 작업 2 실행 명령어
        sleep 3 # 예시로 3초간 대기
        echo "작업 2 완료"
    }
    
    # 작업 1 실행
    task1 &
    
    # 작업 2 실행
    task2 &
    
    # 모든 백그라운드 작업이 완료될 때까지 대기
    wait
    
    echo "모든 작업 완료"

    각각의 task를 만들고 그 task를 & 명령어로 백그라운드에 실행시키게 합니다.

    728x90
Designed by Tistory.