Skip to main content

Spring MVC on Heroku


https://devcenter.heroku.com/articles/getting-started-with-java
https://devcenter.heroku.com/articles/getting-started-with-spring-mvc-hibernate#declare-process-types-with-procfile

1. pom.xml : add plugin
  <!-- for heroku -->
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.3</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>copy</goal>
        </goals>
        <configuration>
          <artifactItems>
            <artifactItem>
              <groupId>org.mortbay.jetty</groupId>
              <artifactId>jetty-runner</artifactId>
              <version>7.4.5.v20110725</version>
              <destFileName>jetty-runner.jar</destFileName>
            </artifactItem>
          </artifactItems>
        </configuration>
      </execution>
    </executions>
  </plugin>

2. Procfile / system.properties
  A Procfile is a text file named Procfile placed in the root of your application.
  - Procfile
    web: java $JAVA_OPTS -jar target/dependency/jetty-runner.jar --port $PORT target/*.war
  - system.properties
    java.runtime.version=1.7

3. build
  - in command window
    mvn clean
    mvn package
  - or in eclipse
    run as maven build ..
      goal : -e clean package

4. run
  java -jar target/dependency/jetty-runner.jar target/*.war

  ex) C:\Users\doohee\git\tz.sheepshare>java -jar target/dependency/jetty-runner.jar

5. heroku login
  Enter your Heroku credentials.
  Email: adam@example.com
  Password:
  Could not find an existing public key.
  Would you like to generate one? [Yn]
  Generating new SSH public key.
  Uploading ssh public key C:/Users/doohee/.ssh/id_rsa.pub... done

6. git
  C:\Users\doohee\git\tz.sheepshare>
  git init
  heroku create
  git remote -v
  git add .
  git commit -m "Ready to deploy"
  git push heroku master

heroku restart still-bayou-6041
heroku logs

2013-12-04T02:06:01.758486+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 6
0 seconds of launch

=> ????

Comments

Popular posts from this blog

Amazon RDS Blue/Green Deployments

In order to avoid some errors I experienced when proceeding as described in the official documentation, I describe what I did in order. 1) Modify parameters of source_database * error: Blue Green Deployments requires cluster parameter group has binlog enabled. RDS Parameter groups: source-params-group binlog_format => MIXED mysql> show global variables like 'binlog_format'; 2) Insert a row after rebooting the source database, to avoid this error. * error: Correct the replication errors and then switch over. Read Replica Replication Error - IOError: 1236, reason: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file' => To Fix: You need to change the data in the source database. INSERT INTO dummy_table ( `favorite_id` , `favorite_order` , `user_id` , `board_id` ) VALUES ('100001', '1', '11111', '11111'); 3) Modify the param...

Fluentd for mysql in AWS

(0) preparation ulimit -n If your console shows 1024, it is insufficient. Please add following lines to your /etc/security/limits.conf file and reboot your machine. root soft nofile 65536 root hard nofile 65536 (1) install Fluentd // “Ubuntu 12.04 LTS / Precise” curl -L http://toolbelt.treasuredata.com/sh/install-ubuntu-precise.sh | sh /etc/init.d/td-agent start/stop/restart/status // test curl -X POST -d 'json={"json":"message"}' http://localhost:8888/debug.test /etc/init.d/td-agent stop chown: changing ownership of `/var/run/td-agent/td-agent.pid': Operation not permitted chown: changing ownership of `/var/run/td-agent': Operation not permitted  * Stopping td-agent td-agent                                                                                   ...

Install CoreOs on linode without VM

Install CoreOs on linode without VM 1. Add a Linode 2. Create a new Disk   CoreOS 3. Rescue > Reboot into Rescue Mode 4. Remote Access   Launch Lish Console 5. make an install script cat <<'EOF1' > install.sh # add needed package sudo apt-get update sudo apt-get install -y curl wget whois sudo apt-get install -y ca-certificates #sudo apt-get install gawk -y # get discovery url discoveryUrl=`curl https://discovery.etcd.io/new` # write cloud-config.yml cat <<EOF2 > cloud-config.yml #cloud-config users:   - name: core     groups:       - sudo       - docker coreos:   etcd:     name: node01     discovery: $discoveryUrl hostname: node01 EOF2 # get the coreos installation script #wget https://raw.github.com/coreos/init/master/bin/coreos-install wget https://raw.githubusercontent.com/coreos/init/master/bin/coreos-install # run installation chmod 75...