Skip to content

Commit

Permalink
Heroku へデプロイするための設定を記述
Browse files Browse the repository at this point in the history
  • Loading branch information
ayato-p committed Nov 29, 2015
1 parent 1218bf4 commit 3567218
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 9 deletions.
1 change: 1 addition & 0 deletions todo-clj/Procfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
web: java $JVM_OPT -jar target/todo-clj.jar host 0.0.0.0 port $PORT
7 changes: 6 additions & 1 deletion todo-clj/project.clj
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
:url "http://example.com/FIXME"
:license {:name "Eclipse Public License"
:url "http://www.eclipse.org/legal/epl-v10.html"}
:min-lein-version "2.5.3"
:dependencies [[org.clojure/clojure "1.7.0"]
[ring "1.4.0"]
[compojure "1.4.0"]
Expand All @@ -16,6 +17,10 @@
[slingshot "0.12.2"]
[potemkin "0.4.1"]]
:plugins [[lein-environ "1.0.1"]]
:uberjar-name "todo-clj.jar"
:profiles
{:dev {:dependencies [[prone "0.8.2"]]
:env {:dev true}}})
:env {:dev true
:db {:dbtype "postgresql" :dbname "todo_clj_dev" :host "localhost" :port 5432 :user "username" :password "password"}}}
:uberjar {:aot :all
:main todo-clj.main}})
8 changes: 5 additions & 3 deletions todo-clj/src/todo_clj/core.clj
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@
todo-routes
main-routes)))

(defn start-server []
(when-not @server
(reset! server (server/run-jetty #'app {:port 3000 :join? false}))))
(defn start-server [& {:keys [host port join?]
:or {host "localhost" port 3000 join? false}}]
(let [port (if (string? port) (Integer/parseInt port) port)]
(when-not @server
(reset! server (server/run-jetty #'app {:host host :port port :join? join?})))))

(defn stop-server []
(when @server
Expand Down
15 changes: 10 additions & 5 deletions todo-clj/src/todo_clj/db.clj
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
(ns todo-clj.db
(:require [clojure.java.jdbc :as jdbc]))
(:require [clojure.java.jdbc :as jdbc]
[environ.core :refer [env]]))

(def db-spec
{:dbtype "postgresql" :dbname "todo_clj_dev" :host "localhost" :port 5432 :user "username" :password "password"})
(:db env))

(defn migrated? []
(pos? (count (jdbc/query db-spec "select tablename from pg_tables where schemaname = 'public'"))))

(defn migrate []
(jdbc/db-do-commands
db-spec
(jdbc/create-table-ddl :todo [:id :serial] [:title :varchar])))
(when-not (migrated?)
(jdbc/db-do-commands
db-spec
(jdbc/create-table-ddl :todo [:id :serial] [:title :varchar]))))
9 changes: 9 additions & 0 deletions todo-clj/src/todo_clj/main.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
(ns todo-clj.main
(:require [todo-clj.core :as core]
[todo-clj.db :as db])
(:gen-class))

(defn -main [& {:as args}]
(db/migrate)
(core/start-server
:host (get args "host") :port (get args "port") :join? true))

0 comments on commit 3567218

Please sign in to comment.