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로 변경한다는 메시지가 성가시지만, 일단 잘 된다.
'내가 자꾸 까먹어서 쓰는 개발 이야기 > Linux Server' 카테고리의 다른 글
Windows 10 Subsystem Linux로 웹서버 구축하기 (0) | 2019.09.20 |
---|---|
Gitlab-ci 를 통한 자동배포 구축하기 (0) | 2019.08.14 |
Let's encrypt 오류 "couldn’t get currently installed..." on Amazon Linux (0) | 2018.06.14 |
[Ubuntu 16.04] qemu kvm & WebVirtMgr - 생성하기 (0) | 2017.04.25 |
[Ubuntu 16.04] qemu kvm & WebVirtMgr - 설치하기 (0) | 2017.04.24 |
최근댓글