Problém jsem vyřešil sám a byl jsem velmi nadšený. I když jsem sám nedostal pomoc, doufám, že se k tomuto vláknu přidá někdo jiný a dokáže jej zprovoznit!
Takže mám aplikaci Vaadin, která byla zkompilována do souboru WAR. Nasadil jsem jej na servery OpenShift podle následujících kroků:
Nasazení zkompilované webové aplikace do OpenShift
- Otevřete OpenShift ve svém webovém prohlížeči. Přihlaste se do Openshift. Přejděte do příslušné aplikace.
- Získejte ssh kód této aplikace (měl by být napravo od obrazovky) umístěný napravo od kazet. Zkopírujte tento kód pomocí Command-C nebo Ctrl-C.
- Otevřete Terminál a zadejte
git clone ssh:\\xxxxxxxxxxxxxxxx...
- Pokud používáte Mac, jako já, měl by vytvořit adresář projektu v
Users/Username/Appname
. Uvnitř tohoto adresáře odstraňte zdrojovou složku apom.xml
. Vezměte zkompilovaný soubor WAR a zkopírujte jej dowebapps
adresář . - Přejděte na Terminál. Zadejte
cd Appname
a potégit add .
,git commit -m "Deployment"
a nakonecgit push
. - Vaše aplikace by nyní měla plně fungovat na adrese
www.openshiftappname-domainname.rhcloud.com/warfilename
Přístup k MySQL
- Nainstalujte cartridge pro MySQL a phpMyAdmin. To by mělo být dostupné prostřednictvím
Add Cartidge
na vašemopenshift.com
centrum aplikací. - Poznamenejte si své
username
apassword
do databáze MySQL, kterou pro vás OpenShift automaticky generuje. Přejděte nawww.openshiftappname-domainname.rhcloud.com/phpmyadmin
, zadejte ověřovací údaje. - Uvnitř phpMyAdmin by měla být IP adresa serveru; vypadá to nějak jako
127.x.y.z:3306
.x, y, and z
mohou být jednociferná až tříciferná čísla. - Rychle vytvořte novou
database
pojmenoval jak chceš. Pojmenuji totest
a následně tam vytvořit novou tabulku s názvemtesttable
. - Pamatujete si tedy svou nasazenou aplikaci WAR? Pokud používáte MySQL, vsadím se, že jste ji již zahrnuli do své aplikace. Základní kroky k navázání připojení k MySQL jsou takové.
Java kód
Přejděte na otevřený projekt IDE, který jste zkompilovali do souboru WAR. Přejděte na pom.xml ve svém projektu, pokud se jedná o projekt Maven, a přidejte závislost:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
- Potom použijte následující kód.
String s = "jdbc:mysql://" + host + ":" + port + "/" + name"
, kde hostitel je server IP address
, port je 3306
a název je database name
, v mém případě test
.
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {
Connection con = DriverManager.getConnection(s, username, password);
}
catch (SQLException e) {
e.printStackTrace();
}
Nyní if (con == null)
nefungovalo to. A pokud není null
, stalo se.
Chcete-li otestovat, měli byste znovu zkompilovat svůj soubor WAR (po uvedení nějakého způsobu, jak jej vizuálně otestovat). Pokud potřebujete další pomoc, zanechte prosím komentář. Mělo by to fungovat, když zkompilujete soubor WAR a znovu provedete kroky 4-6
v první sekci:Deployment of compiled webapp to OpenShift
. Díky!