본문 바로가기
Server/Vapor - ServerSide

Vapor) Heroku를 사용해서 웹 사이트를 만들어보자

by 후르륵짭짭 2020. 10. 26.
728x90
반응형

안녕하세요! 후르륵짭짭 입니다.

그동안 Vapor를 사용해서 여러가지 작업을 했는데요.

이번에는 Heroku를 사용해서 언제 어디서든 웹 사이트에 접근 할 수 있도록 만들어볼려고 합니다.

생각 보다 많은 고생이 있었는데요,,,,

아직 먼가 애매하지만,,, 일단 기록을 해야할 것 같아서 정리해보도록 할려 합니다.

 

** 시작하기 **

일단 원하는 디렉토리를 갑니다. 그리고 나서 Vapor 프로젝트를 만들어 줍니다.

vapor new <프로젝트 이름>

 

그리고 Heroku 사이트에 가서 회원가입을 하고 나서 

https://blog.5anniversary.dev/16?category=1118847

이렇게 앱을 만들어주세요! 

(나중에 바꿀 수 있습니다!! 걱정마세요)

이제 부터 시작입니다 ㅠㅠ ㅠㅠ

 

** Heroku 설치 **

brew install heroku/brew/heroku

brew를 설치하시고 위의 명령어를 적어서 Heroku를 설치해주시기 바랍니다.

그리고 나서 

heroku login

위의 명령을 치시면 로그인 페이지가 나오고 로그인을 해줍니다!

 

** Heroku 시작! **

cd (프로젝트명)/ // 프로젝트 내부로 

git init  // git 설정이 안되있으시다면

heroku git:remote -a (app이름) 

heroku buildpacks:set vapor/vapor // 헤로쿠 서버에 Vapor 빌드팩을 설정 해 주기 위한 코드

echo "web: Run serve --env production --hostname 0.0.0.0 --port \$PORT" > Procfile
// Dynos 설정을 위한 Procfile 설정

이렇게 해줍니다!!!

vapor를 했다면 아마 git init이 있다고 나올 건데,

cmd + shift + . 

을 눌러서 git 파일을 지워주세요!

이렇게 해주시면 procfile이 생성되는데, 먼지 잘 모르겠습니다

 

** git 파일 올리기 **

Heroku는 git이랑 연동 되는 것 같습니다.

따라서 local에서 변경했더라도 git에 올리지 않으면 적용이 되지 않습니다.

일단, vapor - Test 디렉토리에 가서 LinuxMain.swift 을 생성해주세요. 아무것도 없어도 됩니다.

그리고 swift test — enable-test-discovery 를 해주세요!

이 부분을 해주는 것은 나중에 git의 파일을 heroku에 올려줄 때, 

missing LinuxMain.swift file in the Tests directory remote: ! Push rejected, failed to compile Swift app.

이런 오류를 방지하기 위해서 입니다 ㅠㅠ

 

그리고 이제 

git add .
git commit -m "for first deploy"
git push heroku master

이렇게 해주시면 

이렇게 긴 comand 작업을 마지고 주소를 복사해주면 정상적으로 홈페이지에 접근 할 수 있게 됩니다.

hururuekchapchap.herokuapp.com

이렇게 저의 사이트가 정상적으로 잘 접근할 수 있게 될 겁니다!

 

** Heroku App 변경하기 **

heroku apps:rename <NEWNAME_HERE>

이렇게 새로운 이름을 적어주시고 

vapor heroku push

를 해주시면 성공적으로 변경이 될 겁니다.

 

참고사이트 :

Heroku에 Vapor 올리기 (영문 - 오류해결)

medium.com/macoclock/deploying-vapor-4-app-to-heroku-2106572d0ea2

 

Deploying a Vapor 4 app to Heroku

I

medium.com

LinuxMain.swift 오류 해결

github.com/vapor/toolbox/issues/337

 

error: missing LinuxMain.swift file in the Tests directory · Issue #337 · vapor/toolbox

Arch Linux. Swift-bin has been installed successfully. REPL works. git clone https://github.com/vapor/toolbox.git cd toolbox swift build -c release --disable-sandbox Fetching https://github.com/tan...

github.com

Vapor Heroku에 올리기 (한글)

blog.5anniversary.dev/16?category=1118847

 

💧Vapor💧 Swift Server, Heroku 배포하기

안녕하세요, 5anniversary입니다~! 이전 시간에 이어서 이번에는 Heroku에 서버를 deploy 해볼 거예요~! 그리고 이전 시간에 작성해주신 코드를 활용하시고자 하시면 config.swift에서 DB 관련 코드를 잠시

blog.5anniversary.dev

 

728x90
반응형

댓글