일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Spring Boot
- PostgreSQL 설치 시 에러
- c#
- Word Cloud
- 프로그래머스 코딩 테스트 연습
- Python
- 프로그래머스 월간 코드 챌린지 시즌1
- 파이썬
- 스코페2021
- 프로그래머스 코딩테스트 연습
- github
- git
- github actions
- 애드센스
- 클린 코드
- 프로그래머스 코딩테스트 연습문제
- WPF
- 브랜디
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- 프로그래머스 월간 코드 챌린지
- FastAPI
- PostgreSQL
- Firefox
- 디자인 패턴
- 바이오데이터 엔지니어
- terraform
- Codeforces
- heroku
- pycharm
- selenium
- Today
- Total
목록heroku (8)
프로그래밍 연습하기
얼마전에 이메일을 확인하다가 Heroku(헤로쿠) 에서 온 이메일을 봤습니다. 내용을 보니까 2022년 11월 28일부터 무료 서비스(Dyno, Postgres, Redis)를 종료한다는 내용이더라구요. 무료로 편하게 이용할 수 있는 서비스여서 간단하게 사용해보기 좋았는데, 종료한다고 하니 아쉽습니다. AWS나 이외 클라우드에서는 프리 티어가 한정적으로 제공되는 것으로 알고 있는데, Heroku는 월 사용량 기준으로 무료 사용량을 계속 줘서 오래 사용할 수 있었습니다. 이외에는 아마 오라클 클라우드가 이거랑 비슷하게 지속적으로 무료 인스턴스를 제공한다고 알고 있는데, 사용해보지 않아서 자세한 내용은 모르겠네요.
저번에는 FastAPI 앱을 만들어서 Github에 올린 후, Heroku 앱과 연결하여 배포했습니다. 그 과정을 좀 바꿔보도록 하겠습니다. 전체적인 흐름은 Github 저장소의 Branch를 develop, master(main)로 나누어서 develop에서 개발을 해서 master에 Pull request를 만들면 테스트를 하고 통과하는 것을 확인하고 merge 한 뒤, master에서 heroku로 배포하게 됩니다. 그래서 기존 Github 저장소에서 develop Branch를 만듭니다. 그리고 다음과 같은 Github Action 두개를 추가해서 바꿀 수 있습니다. # .github/workflows/python_test.yml name: Python application on: pull_req..
이번에는 FastAPI를 이용하여 간단하게 DB를 사용하는 앱을 만들고 테스트까지 작성해봤습니다. 단순히 API만 작성하고 프론트엔드 부분은 작성하지 않았습니다. 코드량이 많아서 블로그에 다 올리는 것은 힘들 것 같고, GitHub 저장소를 참고하시는게 좋을 것 같습니다. 테스트를 실행해볼 때는 환경변수 TEST 키를 생성하여 값을 TEST로 설정해줘야 config.py에서 설정한 테스트용 데이터베이스를 사용합니다. Github에 올리고 처음에 생성한 Heroku 앱과 연동하여 배포를 할 수 있습니다. Deployment method에서 GitHub를 클릭하고 저장소를 선택하면 됩니다. 이렇게 기초적인 배포까지는 완료되었습니다. 여기에서 완료를 해도 되고, 추가적으로 배포 전 테스트를 적용해볼 수 있습니..
먼저 Terraform으로 Heroku 앱을 만들어보겠습니다. 데이터베이스를 사용하는 간단한 앱이기 때문에 Heroku 앱에 Postgresql 데이터베이스 애드온을 추가하겠습니다. 저는 Visual Studio Code를 사용해서 Terraform 코드를 작성했습니다. 코드는 다음과 같습니다. 코드가 간단해서 그냥 main 하나에 다 써도 되겠지만 분리를 해봤습니다. 사실은 앱 네임 등 여러가지를 더 분리할 수 있겠지만 일단은 이정도로만 하고 다음에 기회가 되면 해보도록 하겠습니다. # /terraform/main.tf module "my_heroku" { source = "./heroku" } # /terraform/heroku/resource.tf resource "heroku_app" "my_ap..
안녕하세요. 간단한 백엔드 프로젝트를 해보려고 합니다. 심도있고 화려한 프로젝트라기 보다는 다양한 기술 스택을 간단하게 사용해보는 프로젝트로 계획하고 있습니다. 단계별로 나누어서 다른 스택으로 교체한다던지, 내용을 더 추가할 수도 있을 것 같습니다. 사용할 스택은 다음과 같습니다. Heroku, Terraform, Github Action, FastAPI를 사용할 예정입니다. FastAPI로 백엔드까지만 만들고 Terraform으로 Heroku 서버를 관리하면서 Github Action으로 테스트 후 Heroku에 배포하려고 합니다. Python을 다룰 때는 Pycharm을 사용했고, Terraform 코드(HCL)은 Visual Studio를 사용해서 작성했습니다. 먼저 시작하기 위해서는 Github ..
Django 웹 애플리케이션을 Heroku에 올리려고 했는데, collectstatic 중 자꾸 Secret key가 없다는 에러가 떠서 헤멨습니다. 찾아보니 Config Var의 Key 값에는 "-"(하이픈)이 들어가면 안되는데, 제가 Secret key의 Key 값에 하이픈을 사용했어서 발생한 문제로 보입니다. 그래서 _로 바꾸어서 사용하여 오류를 해결할 수 있었습니다. 윈도우 환경 변수에는 하이픈을 넣을 수 있는데, 리눅스에서는 하이픈을 사용할 수 없는 것 같습니다. https://devcenter.heroku.com/articles/config-vars#config-var-policies Configuration and Config Vars | Heroku Dev Center Last update..
Heroku Postgres Add-on을 사용하여 Postgresql 데이터베이스를 사용해보려고 했습니다. 그런데 실행이 되지 않아 로그를 살펴보니 다음과 같은 에러가 떴습니다. sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:postgres 찾아보니 Heroku에서 Database URI를 Heroku Config Vars로 기본적으로 제공해주는데, 값이 postgres:// 로 시작합니다. 그런데 SQLAlchemy가 버전업되면서 (1.4버전 이상) postgres URI scheme을 지원하지 않기 때문에, postgresql로 바꾸어줘야 합니다. 그런데 Database URI Config Vars는 수정이 되지 않..
파이썬 웹 프레임워크 FastAPI를 사용해서 간단한 프로젝트를 진행 중 입니다. 처음에 계획했던 기능을 어느정도 만들어서 일단 실제로 배포해보고 계속 발전시켜나가려고 합니다. 처음에는 AWS를 이용해보려고 했는데, 이미 Free Tier로 사용하는 것이 있어서 Heroku(헤로쿠)를 사용하여 무료로 올릴 수 있었습니다. Heroku를 이용해보는 튜토리얼들이 잘 되있어서 저는 간단하게 제가 겪었던 문제와 해결 방법만 정리해보려고 합니다. Heroku에서는 기본적으로 파이썬 버전을 따로 지정해주지 않으면 3.9버전으로 돌아갑니다. 그런데 저는 3.7버전에서 개발을 하고 requirements를 작성해서 그런지 의존성 설치 하면서 에러가 떠서 runtime.txt 를 작성해서 3.7.10 버전으로 설정하였습..