Ruby로 작성된 Slack bot의 스크립트를 Heroku에 올려 항상 시작합니다.
소개
마지막으로 만든 Amazon 순위를 표시하는 Bot 을 매번 터미널에서 Ruby를 실행시키는 것이 아니라 항상 시작합니다. 이를 위해 앱을 Heroku에 업로드하는 과정을 설명합니다.
거친 흐름
Heroku Toolbelt 설치
아래 명령으로 설치할 수 있습니다.
$ brew tap heroku/brew && brew install heroku
필요한 경우 Heroku의 공식 기사 도 참조하십시오.
Gemfile 만들기
일반적으로 Ruby 단위로 개발하는 경우 Gemfile은 필요하지 않습니다. 그러나 이번에는 Ruby 응용 프로그램을 Heroku로 컴파일 할 때 필요한
buildpack
를 설치합니다. buildpack 설치 시 Gemfile을 참조한 후 필요한 파일을 설치하므로 Gemfile을 작성해야 합니다.
# Gemfile
source 'https://rubygems.org'
ruby '2.6.3'
원래 Ruby2.3.0에서 개발했지만 Heroku에 배포 할 때 Ruby 버전이 지원되지 않았기 때문에 오류가 발생했으므로 이 기사을 참조하여 Ruby를 최신 버전으로 업데이트했습니다. 네.
Procfile 만들기
또, 이번은 Worker Dyno에서 백그라운드 처리를 돌리기 때문에, 폴더내에 Procfile을 작성해, Worker Dyno로 실시하는 처리를 아래와 같이 선언합니다.
worker: bundle exec ruby ruby_bot.rb
Heroku에 앱 업로드
그런 다음 Heroku에 데이터를 업로드합니다.
다음 명령을 순서대로 두드립니다.
$ git init
$ git commit -m "init commit"
$ heroku create
$ heroku buildpacks:set heroku/ruby -a (アプリ名)
$ git push heroku master
네 번째 명령으로 ruby buildpack을 설치하십시오. (앱 이름) 부분은 $heroku create
로 만든 앱 이름을 넣습니다.
Git과 Heroku를 연계
Heroku에서 앱이 시작된 곳에서 Git과 Heroku를 연계하면 편리합니다.
위와 같이 연결을 하면 Git의 Master에 Push한 내용이 Heroku에 자동으로 반영됩니다.
Heroku에서 항상 스크립트 실행
마지막으로 이번에 만든 Slack Bot을 항상 부팅하려면 Worker Dyno를 시작해야 합니다. 방금 Procfile에서 선언했기 때문에 Resource 탭에 Worker가 표시되어 있으므로 여기를 ON으로 하고 Confirm합니다.
마지막으로
터미널에서 Ruby 파일을 실행시키지 않으면 오프라인이었던 Bot이 이번 작업을 거쳐 항상 온라인으로 바뀌었습니다!
Procfile의 기재에 잘못이 있거나, Gemfile의 머리글자가 소문자로 되어 있다고 하는 초보적인 실수를 해 버려, buildpack이 정상적으로 인스톨 할 수 없게 시간을 녹여 버렸습니다. 앞으로는 App화도 진행해 나가면 좋겠습니다.
참고 기사
worker: bundle exec ruby ruby_bot.rb
그런 다음 Heroku에 데이터를 업로드합니다.
다음 명령을 순서대로 두드립니다.
$ git init
$ git commit -m "init commit"
$ heroku create
$ heroku buildpacks:set heroku/ruby -a (アプリ名)
$ git push heroku master
네 번째 명령으로 ruby buildpack을 설치하십시오. (앱 이름) 부분은
$heroku create
로 만든 앱 이름을 넣습니다.Git과 Heroku를 연계
Heroku에서 앱이 시작된 곳에서 Git과 Heroku를 연계하면 편리합니다.
위와 같이 연결을 하면 Git의 Master에 Push한 내용이 Heroku에 자동으로 반영됩니다.
Heroku에서 항상 스크립트 실행
마지막으로 이번에 만든 Slack Bot을 항상 부팅하려면 Worker Dyno를 시작해야 합니다. 방금 Procfile에서 선언했기 때문에 Resource 탭에 Worker가 표시되어 있으므로 여기를 ON으로 하고 Confirm합니다.
마지막으로
터미널에서 Ruby 파일을 실행시키지 않으면 오프라인이었던 Bot이 이번 작업을 거쳐 항상 온라인으로 바뀌었습니다!
Procfile의 기재에 잘못이 있거나, Gemfile의 머리글자가 소문자로 되어 있다고 하는 초보적인 실수를 해 버려, buildpack이 정상적으로 인스톨 할 수 없게 시간을 녹여 버렸습니다. 앞으로는 App화도 진행해 나가면 좋겠습니다.
참고 기사
터미널에서 Ruby 파일을 실행시키지 않으면 오프라인이었던 Bot이 이번 작업을 거쳐 항상 온라인으로 바뀌었습니다!
Procfile의 기재에 잘못이 있거나, Gemfile의 머리글자가 소문자로 되어 있다고 하는 초보적인 실수를 해 버려, buildpack이 정상적으로 인스톨 할 수 없게 시간을 녹여 버렸습니다. 앞으로는 App화도 진행해 나가면 좋겠습니다.
참고 기사
Reference
이 문제에 관하여(Ruby로 작성된 Slack bot의 스크립트를 Heroku에 올려 항상 시작합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/matsukazu1112/items/aaac4dffd158f530d2b5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)