728x90

아래 내용은 https://fils.tistory.com/846?category=41949 게시물로 갈음하시는 편이 좋습니다.

이 글은 CI/CD를 접하기 이전에 작성된 글입니다.


Laravel-mix + Vue 를 쓰다보니 귀찮은 일이 생겼다.

 

바로 npm 빌드 시 평소에는 dev 모드로 빌드해서 debug를 하고, 배포할땐 production 빌드를 해야 하는 점이다.

 

고민하다 sh를 짜기로 했다.

 

역할은 매우 간단하다.

 

1. 배포할 서버를 입력 받는다.

2. 커밋 메시지를 입력 받는다. (없으면 커밋이 안되니까)

3. 빌드한다

4. git add, git commit, git push를 차례대로 수행한다.

5. deployer로 배포한다.

 

먼저 vi나 touch 커맨드로 dep.sh 파일을 생성한다.

 

chmod +x dep.sh 를 수행하여 실행 권한을 준다.

 

sh는 아래와 같다.

build=""
st () { #해당하는 번호가 없으면 다시 선택할 수 있도록 함수 작성
    echo -e "어디에 배포하나요? (1: qa, 9: production): c"
    read stage
    if [ $stage == "1" ]; then
        build="development"
    elif [ $stage == "9" ]; then
        build="production"
    else
        st
        exit 1 
    fi
}

st #call func

echo $build

echo -e "커밋 메시지를 입력하세요: c"
read msg

cd public && npm run ${build}
cd ..
git add .
git commit -m ${msg}
git push
dep deploy ${stage}

중간에 git을 사용하는 부분에서 계정을 자꾸 물어봐 저장해두기로 했다.

git config --global credential.helper 'cache --timeout=86400000'

(https://www.devkwon.com/posts/132)

 

LF를 CRLF로 변경한다는 메시지가 성가시지만, 일단 잘 된다.

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기