./bin/commits-since-last-production-deploy
4826 단어 heroku
main
/master
분기가 완전히 배포되었는지 여부를 100% 확신할 수 없음을 의미할 수 있습니다. 제품에서 실행 중인 항목은 무엇인가요?또는 아직 프로덕션에서 실행되지 않는 것은 무엇입니까?
main
에 병합된 새 커밋을 프로덕션에 배포할 수 있습니까? 모두 내 것이기 때문입니다.또는 공유 작업 브랜치에 추가된 형편없는 새로운 기여가 있으며 프로덕션으로 보내는 책임을 지고 고객, 지원 팀 및 개발에 잠재적으로 문제를 일으킬 수 있는 책임을 지기 전에 철저하게 검토하고 싶습니까? 몇 분 또는 몇 시간 안에 팀?
아래에 표시된 모든 Heroku 호스팅 프로젝트
./bin/commits-since-last-production-deploy
및 hosted on a Gist에 추가하기 시작한 스크립트를 작성했습니다.현재 브랜치를 특정 Heroku 애플리케이션과 비교하려면:
./bin/commits-since-last-production-deploy -a myapp-stg
추가 인수는
git log
와 같이 --oneline
명령으로 전달됩니다../bin/commits-since-last-production-deploy -a myapp-stg --oneline
기본
heroku
리모콘이 있어서 야생처럼git push heroku HEAD:main
할 수 있는 경우 -a
플래그를 삭제할 수 있습니다../bin/commits-since-last-production-deploy
스크립트는 아래에 있으며 hosted on a Gist입니다.
#!/bin/bash
help() {
echo "Usage: ./bin/commits-since-last-production-deploy [-a myapp ] [ -h ]"
exit 2
}
if ! command -v heroku &>/dev/null; then
echo "Install 'heroku' CLI"
exit 1
fi
if ! command -v jq &>/dev/null; then
echo "Install 'jq' CLI"
exit 1
fi
while getopts 'a:h' opt; do
case "$1" in
-a)
appname="$2"
shift 2
;;
-h | --help)
help
exit 2
;;
esac
done
last_deploy_result=$(heroku releases ${appname:+-a $appname} --json | jq -r ".[0].description")
if [[ $last_deploy_result =~ ^(Deploy (.*)) ]]; then
sha="${BASH_REMATCH[2]}"
git log "$sha"..HEAD "$@"
else
echo "Last deploy to production did not succeed"
echo "--> $last_deploy_result"
exit 1
fi
기본적으로 이것은 앱에서 실행되고
heroku releases
배포된 Git SHA-1을 가져온 다음 현재 분기의 커밋 목록과 비교합니다.출력이 표시되지 않으면 아직 생산되지 않은 새 커밋이 없는 것입니다. 당신은 무료입니다. 생산은 모두 귀하의 것입니다. 와하하.
Reference
이 문제에 관하여(./bin/commits-since-last-production-deploy), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/drnic/bincommits-since-last-production-deploy-4ka8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)