Heroku 클립
Heroku CLI는 Heroku 플랫폼에서 애플리케이션 배포 및 관리를위한 워크플로우를 명령합니다.
설치 및 인증
Command |
Description |
heroku login |
Login to Heroku |
heroku login -i |
Login interactively |
heroku logout |
Logout from Heroku |
heroku auth:whoami |
Show current user |
heroku auth:token |
Display auth token |
앱 관리
Basic App 운영
Command |
Description |
heroku apps |
List all apps |
heroku apps:create myapp |
Create new app |
heroku apps:destroy myapp |
Delete app |
heroku apps:info |
Show app info |
heroku apps:rename newname |
Rename app |
heroku apps:open |
Open app in browser |
앱 구성
Command |
Description |
heroku config |
Show config vars |
heroku config:set KEY=value |
Set config var |
heroku config:unset KEY |
Remove config var |
heroku config:get KEY |
Get specific config var |
heroku buildpacks |
List buildpacks |
heroku buildpacks:set heroku/nodejs |
Set buildpack |
계정 만들기
Git 배포
Command |
Description |
git push heroku main |
Deploy from main branch |
git push heroku develop:main |
Deploy from develop branch |
heroku git:remote -a myapp |
Add Heroku remote |
heroku releases |
List releases |
heroku releases:rollback v123 |
Rollback to specific release |
컨테이너 배포
Command |
Description |
heroku container:login |
Login to container registry |
heroku container:push web |
Build and push container |
heroku container:release web |
Release container |
heroku container:rm web |
Remove container |
Dynos와 확장
Dyno 관리
Command |
Description |
heroku ps |
List dynos |
heroku ps:scale web=2 |
Scale web dynos |
heroku ps:scale worker=1 |
Scale worker dynos |
heroku ps:restart |
Restart all dynos |
heroku ps:restart web.1 |
Restart specific dyno |
heroku ps:stop web.1 |
Stop specific dyno |
Dyno 유형
Command |
Description |
heroku ps:type |
Show dyno types |
heroku ps:resize web=standard-1x |
Resize dyno type |
heroku ps:exec |
SSH into dyno |
더 알아보기
추가 관리
Command |
Description |
heroku addons |
List app add-ons |
heroku addons:create heroku-postgresql |
Add PostgreSQL |
heroku addons:create heroku-redis |
Add Redis |
heroku addons:destroy ADDON_NAME |
Remove add-on |
heroku addons:upgrade ADDON_NAME:PLAN |
Upgrade add-on plan |
heroku addons:downgrade ADDON_NAME:PLAN |
Downgrade add-on plan |
인기 Add-ons
Command |
Description |
heroku addons:create sendgrid |
Add SendGrid email |
heroku addons:create papertrail |
Add Papertrail logging |
heroku addons:create newrelic |
Add New Relic monitoring |
heroku addons:create scheduler |
Add Heroku Scheduler |
Database 운영
프로젝트
Command |
Description |
heroku pg |
List PostgreSQL databases |
heroku pg:info |
Show database info |
heroku pg:psql |
Connect to database |
heroku pg:reset DATABASE_URL |
Reset database |
heroku pg:backups |
List backups |
heroku pg:backups:capture |
Create backup |
heroku pg:backups:restore BACKUP_URL DATABASE_URL |
Restore backup |
데이터베이스 유지
Command |
Description |
heroku pg:maintenance |
Show maintenance info |
heroku pg:maintenance:run |
Run maintenance |
heroku pg:stats |
Show database stats |
heroku pg:diagnose |
Diagnose database issues |
로깅 및 모니터링
로그인
Command |
Description |
heroku logs |
Show recent logs |
heroku logs --tail |
Stream logs |
heroku logs --source app |
Show app logs only |
heroku logs --dyno web.1 |
Show specific dyno logs |
heroku logs --num 1000 |
Show more log lines |
관련 기사
Command |
Description |
heroku ps:autoscale:enable |
Enable autoscaling |
heroku ps:autoscale:disable |
Disable autoscaling |
heroku metrics |
Show app metrics |
도메인 및 SSL
도메인 관리
Command |
Description |
heroku domains |
List domains |
heroku domains:add example.com |
Add custom domain |
heroku domains:remove example.com |
Remove domain |
heroku domains:info example.com |
Show domain info |
SSL 인증서
Command |
Description |
heroku certs |
List SSL certificates |
heroku certs:add cert.pem key.pem |
Add SSL certificate |
heroku certs:remove |
Remove SSL certificate |
heroku certs:auto:enable |
Enable automatic SSL |
heroku certs:auto:disable |
Disable automatic SSL |
Pipelines 및 리뷰 앱
Pipeline 관리
Command |
Description |
heroku pipelines |
List pipelines |
heroku pipelines:create mypipeline |
Create pipeline |
heroku pipelines:destroy mypipeline |
Delete pipeline |
heroku pipelines:add mypipeline --stage staging |
Add app to pipeline |
heroku pipelines:remove |
Remove app from pipeline |
회사 소개
Command |
Description |
heroku pipelines:promote --remote staging |
Promote to production |
heroku releases:rollback --remote production |
Rollback production |
리뷰 앱
Command |
Description |
heroku reviewapps:enable |
Enable review apps |
heroku reviewapps:disable |
Disable review apps |
팀 및 협업
팀 관리
Command |
Description |
heroku teams |
List teams |
heroku members |
List team members |
heroku members:add user@example.com |
Add team member |
heroku members:remove user@example.com |
Remove team member |
오시는 길
Command |
Description |
heroku access |
List app collaborators |
heroku access:add user@example.com |
Add collaborator |
heroku access:remove user@example.com |
Remove collaborator |
제품정보 플러그인
플러그인 관리
Command |
Description |
heroku plugins |
List installed plugins |
heroku plugins:install PLUGIN_NAME |
Install plugin |
heroku plugins:uninstall PLUGIN_NAME |
Uninstall plugin |
heroku plugins:update |
Update all plugins |
인기 플러그인
Command |
Description |
heroku plugins:install heroku-repo |
Install repo plugin |
heroku repo:reset |
Reset git repository |
heroku repo:purge_cache |
Purge build cache |
환경 관리
다수 환경
Command |
Description |
heroku git:remote -a myapp-staging -r staging |
Add staging remote |
heroku git:remote -a myapp-production -r production |
Add production remote |
git push staging main |
Deploy to staging |
git push production main |
Deploy to production |
환경 변수
Command |
Description |
heroku config --remote staging |
Show staging config |
heroku config:set NODE_ENV=production --remote production |
Set production config |
정비 및 문제 해결
정비 형태
Command |
Description |
heroku maintenance:on |
Enable maintenance mode |
heroku maintenance:off |
Disable maintenance mode |
heroku maintenance |
Check maintenance status |
문제 해결
Command |
Description |
heroku run bash |
Run bash shell |
heroku run rails console |
Run Rails console |
heroku run python manage.py shell |
Run Django shell |
heroku run node |
Run Node.js REPL |
- 연혁
Command |
Description |
heroku labs:enable preboot |
Enable preboot |
heroku labs:disable preboot |
Disable preboot |
heroku ps:wait |
Wait for dyno to be ready |
최고의 연습
계정 만들기
- ** 파이프 사용 ** : staging 및 생산 환경 설정
- ** 환경 변수 **: config vars에 있는 상점 윤곽
- **Database 마이그레이션 **: 배포 중 마이그레이션
- 명세 Health Check: 건강 점검 종료
계정 관리
- SSL: 항상 생산 앱에 SSL을 사용
- ** 환경 분리 **: 분리되는 staging와 생산
- **액세스 컨트롤 **: Limit collaborator 접속
- 명세 ** Secrets 관리 **: 민감한 데이터에 대한 config vars 사용
- 연혁
- **Dyno Sizing **: 적절한 dyno 유형 선택
- Caching: 캐싱 전략 구현
- **Database 최적화 **: 데이터베이스 쿼리를 모니터링하고 최적화
- CDN: 정적 자산을 위한 CDN 사용
관련 기사
- Logging: 종합 로깅 구현
- Metrics: 모니터 애플리케이션 메트릭
- Alerts: 중요한 문제에 대한 경고 설정
- 명세 Error Tracking: 오류 추적 서비스 사용