
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΆΠ΅Π»Π°ΡΡ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ ΠΎΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠΈ ΠΊΡΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ βΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° ΠΊΠ°ΡΠΎ ΡΡΠ»ΡΠ³Π°β (PaaS), ΠΊΠ°ΡΠΎ RedHat OpenShift v3. AppDynamics Π΅ ΠΈΠ½Π²Π΅ΡΡΠΈΡΠ°Π»Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π² ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΡΠ²ΠΎΠΊΠ»Π°ΡΠ½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΠ°ΠΊΠΈΠ²Π° Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ.

AppDynamics ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ° ΡΠ²ΠΎΠΈΡΠ΅ Π°Π³Π΅Π½ΡΠΈ Ρ RedHat OpenShift v3, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Source-to-Image (S2I). S2I Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π΅ΠΌΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ Docker. Π’ΠΎΠΉ ΡΡΠ·Π΄Π°Π²Π° Π³ΠΎΡΠΎΠ²ΠΈ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΎΠ±ΡΠ°Π·ΠΈ, Π²ΠΌΡΠΊΠ²Π°ΠΉΠΊΠΈ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π² Docker ΠΎΠ±ΡΠ°Π· ΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΠΉΠΊΠΈ Π½ΠΎΠ² Docker ΠΎΠ±ΡΠ°Π·. ΠΠΎΠ²ΠΈΡΡ ΠΎΠ±ΡΠ°Π· Π²ΠΊΠ»ΡΡΠ²Π° Π±Π°Π·ΠΎΠ² ΠΎΠ±ΡΠ°Π· (ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅Π») ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ, ΠΊΠΎΠΉΡΠΎ Π²Π΅ΡΠ΅ Π΅ Π³ΠΎΡΠΎΠ² Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° docker. S2I ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎ ΠΈΠ·ΡΠ΅Π³Π»Π΅Π½ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠ΅Π΄ΠΈΡΠ½ΠΎ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ ΠΈ Ρ.Π½.
ΠΡΠΎΡΠ΅ΡΡ
Π¦Π΅Π»ΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° AppDynamics Ρ RedHat OpenShift
Π‘ΡΡΠΏΠΊΠ° 1: RedHat Π²Π΅ΡΠ΅ Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½
ΠΠ° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠΏΠΊΠΈ 2 ΠΈ 3 ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ S2I ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π² ΡΠ»Π΅Π΄Π½ΠΈΡ GitHub ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΎΠ±ΡΠ°Π·ΠΈ Π½Π° ΡΡΡΠΎΠΈΡΠ΅Π»Ρ Π·Π° ΡΡΡΠ²ΡΡΠΈ JBoss Wildfly ΠΈ EAP.
ΠΠ΅ΠΊΠ° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π²ΡΠΈΡΠΊΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ°Π±Π»ΠΎΠ½ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ .
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ:
- Π£Π²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ OC Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ ()
- Π£Π²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ sti Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ ()
- Π£Π²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ Π°ΠΊΠ°ΡΠ½Ρ Π² dockerhub ()
Π‘ΡΡΠΏΠΊΠ° 2: Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π· Π½Π° ΡΡΡΠΎΠΈΡΠ΅Π»Ρ AppDynamics
$ git clone https://github.com/Appdynamics/sti-wildfly.git
$ cd sti-wildfly
$ make build VERSION=eap6.4 Π‘ΡΡΠΏΠΊΠ° 3: Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π· Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ
$ s2i build -e βAPPDYNAMICS_APPLICATION_NAME=os3-ticketmonster,APPDYNAMICS_TIER_NAME=os3-ticketmonster-tier,APPDYNAMICS_ACCOUNT_NAME=customer1_xxxxxxxxxxxxxxxxxxf,APPDYNAMICS_ACCOUNT_ACCESS_KEY=xxxxxxxxxxxxxxxxxxxxx,APPDYNAMICS_CONTROLLER_HOST=xxxx.saas.appdynamics.com,APPDYNAMICS_CONTROLLER_PORT=443,APPDYNAMICS_CONTROLLER_SSL_ENABLED=trueβ https://github.com/jim-minter/ose3-ticket-monster appdynamics/sti-wildfly-eap64-centos7:latest pranta/appd-eap-ticketmonster
$ docker tag openshift-ticket-monster pranta/openshift-ticket-monster:latest
$ docker push pranta/openshift-ticket-monster Π‘ΡΡΠΏΠΊΠ° 4: Π Π°Π·Π³ΡΡΠ½Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π² OpenShift
$ oc login 10.0.32.128:8443
$ oc new-project wildfly
$ oc project wildfly
$ oc new-app βdocker-image=pranta/appd-eap-ticketmonster:latest βname=ticketmonster-demo 
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²Π»Π΅Π·Π΅ΡΠ΅ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ticketmonster Π² ΠΏΠ°Π½Π΅Π»Π° Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:

ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
