Buildpack を使ってみる

Kf はさまざまな Buildpack に対応しています。このドキュメントでは、それらを使用する際の開始条件の例について説明します。

始める前に

  • Kf がクラスタで実行されている必要があります。
  • スペースをターゲットにするには、kf target -s <space-name> を実行しておく必要があります。

Java(v2)Buildpack

spring initializr を使用して、Spring Web の依存関係と JAR パッケージを含む Java 8 Maven プロジェクトを作成します。ダウンロードして展開が完了したら、JAR を生成できます。

./mvnw package

Java v2 Buildpack を使用して JAR を Kf に push します。

kf push java-v2 --path target/helloworld-0.0.1-SNAPSHOT.jar

Java(v3)Buildpack

spring initializr を使用して、Spring Web の依存関係と JAR パッケージを含む Java 8 Maven プロジェクトを作成します。ダウンロードして展開が完了したら、クラウド ネイティブの Buildpack で Kf に push します。

kf push java-v3 --stack org.cloudfoundry.stacks.cflinuxfs3

Python(v2)Buildpack

次の構造に示すファイルを格納する新しいディレクトリを作成します。

tree
.
├── Procfile
├── requirements.txt
└── server.py
cat Procfile
web: python server.py
cat requirements.txt
Flask
cat server.py
from flask import Flask
import os
app = Flask(__name__)
@app.route('/')
def hello_world():
    return 'Hello, World!'
if __name__ == "__main__":
  port = int(os.getenv("PORT", 8080))
  app.run(host='0.0.0.0', port=port)

v2 Buildpack を使用して Python Flask アプリを push します。

kf push python --buildpack python\_buildpack

Python(v3)Buildpack

(同上)

クラウド ネイティブの Buildpack を使用して Python Flask アプリを push します。

kf push pythonv3 --stack org.cloudfoundry.stacks.cflinuxfs3

Staticfile(v2)Buildpack

ソースコードを格納する新しいディレクトリを作成します。

以下のコンテンツを含む index.html ファイルを追加します。

<!DOCTYPE html>

<html lang="en">

<head><title>Hello, world!</title></head>

<body><h1>Hello, world!</h1></body>

</html>

staticfile Buildpack を使用して静的コンテンツを push します。

kf push staticsite --buildpack staticfile\_buildpack

次のステップ