위험할 정도의 강타
A bash cheat sheet for developers who just want to get by.
설정, CI 및 배포 흐름을 작성하는 것은 약간의 오래된 bash 스크립팅을 의미합니다.
Bash(/sarcasm)의 복잡성에 깊은 관심을 갖고 있음에도 불구하고 동일한 두 가지 상황에 대한 솔루션을 찾기 위해 Google과 StackOverflow에 계속 연락했습니다.
이 작업을 다시 수행해야 하는 것을 방지하고 독서의 즐거움을 위해 여기 있습니다.
설정, CI 및 배포 흐름 측면에서 위험하기 위해 다음과 같은 상황이 발생합니다.
Bonus
This was sent out on the Code with Hugo newsletter last Monday.
Subscribe to get the latest posts right in your inbox (before anyone else).
파일이 존재하는지 확인
if [! -f ./pdfgen/pdfgen]; then
echo "Building pdfgen binary"
npm run --prefix pdfgen build:linux
else
echo "Pdfgen binary already exists, skipping build"
fi
(심볼릭) 링크가 존재하는지 확인
if [! -L /usr/local/bin/heroku];
then
wget https://cli-assets.heroku.com/branches/stable/heroku-linux-amd64.tar.gz
sudo mkdir -p /usr/local/lib /usr/local/bin
sudo tar -xvzf heroku-linux-amd64.tar.gz -C /usr/local/lib
sudo ln -s /usr/local/lib/heroku/bin/heroku /usr/local/bin/heroku
fi
환경 변수가 설정되어 있는지 확인
# long
if [[ -z "${CIRCLE_BRANCH}"] ]; then
npm run redis-cli flushall
fi
npm run sync
# one-liner
[-z "${CIRCLE_BRANCH}"] && npm run redis-cli flushall; npm run sync
환경 변수 전환
case $CIRCLE_BRANCH in
"develop")
export ENVIRONMENT="dev"
export HEROKU_APP=dev-app
;;
"staging")
export ENVIRONMENT="staging"
export HEROKU_APP=staging-app
;;
"production")
export ENVIRONMENT="production"
export HEROKU_APP=production-app
;;
esac
사용자에게 확인
read -p "Are you sure you want to merge 'develop' into 'staging'? (y/N)" -n 1 -r
echo # we like having a new line
if [[$REPLY =~ ^[Yy]$ ]]
then
git merge develop --ff-only
git push
fi
마지막 조언으로 두 줄 이상이라면 JavaScript나 Python을 사용하여 스크립트를 작성해 보십시오.
최신 JavaScript/Node에서 이를 수행할 수 있는 몇 가지 리소스가 있습니다.
This was sent out on the Code with Hugo newsletter last Monday.
Subscribe to get the latest posts right in your inbox (before anyone else).
보너스
.env 파일을 환경에 적용
.env
파일이 있고 Docker Compose는 일반적으로 이를 처리하지만 Docker 외부에서 dotenv 과 같은 것을 사용하지 않고 실행되는 것을 원한다고 말합니다.다음은 *NIX 셸의 스니펫입니다.
export $(cat .env | xargs)
Guilherme Cunha
Reference
이 문제에 관하여(위험할 정도의 강타), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/hugo__df/just-enough-bash-to-be-dangerous-2k94텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)