https://docs.pivotal.io/pcf-dev/index.html
https://docs.pivotal.io/pcf-dev/install-osx.html
https://qiita.com/MahoTakara/items/888ffdadbf34fd2033d6
cf-cli-installer_6.49.0_osx.pkg をDL
(base) MacBookPro15:contrast turbou$ cf -v
cf バージョン 6.49.0+d0dfa93bb.2020-01-07
-
PCF DevをDLしておく https://network.pivotal.io/products/pcfdev#/releases/339789 pcfdev-v1.2.0-darwin.tgz
-
セットアップ
# 一応確認 cf plugins # もしも同様のdev系プラグインが入っていたらアンインストール cf uninstall-plugin pcfdev # cfdevプラグインをインストール cf install-plugin cfdev cf plugins # この時だと、0.0.17 # 起動(かなり時間かかります) cf dev start -m 8192 -f ./pcfdev-v1.2.0-darwin.tgz
-
ログイン
cf login -a https://api.dev.cfdev.sh --skip-ssl-validation
admin/adminでログイン
-
組織、スペースの作成
# 組織の作成 cf create-org tabocom # スペースの作成 cf create-space sample -o tabocom # ターゲットの切り替え cf target -o "tabocom" -s "sample"
git clone https://github.com/turbou/PetClinicDemo
cd PetClinicDemo
mvn clean package -DskipTests
-
manifest_apponly.yml(なければ準備してください)
--- applications: - name: petclinic memory: 1G instances: 1 timeout: 180 path: ./target/spring-petclinic-1.5.1.jar buildpacks: - https://github.com/cloudfoundry/java-buildpack.git
-
push
cf push -f manifest_apponly.yml
-
ユーザー提供サービスの作成
cf create-user-provided-service contrast-security-service -p '{"teamserver_url": "https://eval.contrastsecurity.com/Contrast/", "username": "[email protected]", "api_key": "XXXK6pIuD6mh5RX6YQ2iMOOavh9MXXXX", "service_key": "XXXXXXXXXXXXXXXX"}'
参考までに
# 確認 cf services # 削除 cf unbind-service taka-petclinic contrast-security-service cf delete-service contrast-security-service
-
manifest.yml
--- applications: - name: petclinic memory: 1G instances: 1 timeout: 180 path: ./target/spring-petclinic-1.5.1.jar buildpacks: - https://github.com/cloudfoundry/java-buildpack.git services: - contrast-security-service env: JAVA_OPTS: -Dcontrast.override.appname=PetClinicPCF1 -Dcontrast.server.name=PCF-taka1 -Dcontrast.server.environment=qa Dcontrast.agent.polling.app_activity_ms=3000 -Dcontrast.server.activity.period=3000 -Dcontrast.agent.logger.level=ERROR
-
Push 参考までに既存アプリの停止と削除
cf stop petclinic cf delete petclinic
cf push -f manifest.yml
contrast.jarとcontrast_security.yamlをsrc/main/resourcesに置いてやるやり方です。
-
contrast.jarとcontrast_security.yamlをsrc/main/resourcesに配置する。
api: url: https://eval.contrastsecurity.com/Contrast api_key: XXXK6pIuD6mh5RX6YQ2iMOOavh9McXXX service_key: XXXXXXXXXXXXXXXX user_name: agent_442311fd-XXXX-XXXX-XXXX-2b03db2d816c@Tabocom server: name: PCF-taka2 application: name: PetClinicPCF2 agent: logger: level: ERROR polling: app_activity_ms: 3000 server_activity_ms: 3000
-
再度ビルド
mvn clean package -DskipTests
-
manifest_apponly.yml を使いまわします。
--- applications: - name: petclinic memory: 1G instances: 1 timeout: 180 path: ./target/spring-petclinic-1.5.1.jar buildpacks: - https://github.com/cloudfoundry/java-buildpack.git
-
push 参考までに既存アプリの停止と削除
# アプリの削除 cf stop petclinic cf delete petclinic # サービス削除 cf services cf delete-service contrast-security-service
# 起動なしでpush cf push --no-start -f manifest_apponly.yml
-
JAVA_OPTSをコマンドでセット
cf set-env petclinic JAVA_OPTS '-javaagent:/home/vcap/app/BOOT-INF/classes/contrast.jar -Dcontrast.config.path=/home/vcap/app/BOOT-INF/classes/contrast_security.yaml'
-
start
cf start petclinic
cf scale petclinic -i 2