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: 오류 추적 서비스 사용