OpenShift Nedir?
RedHat firmasının sunduğu bir hizmet olan OpenShift, üzerinde web uygulamaları barındırabileceğiniz bir bulut sistemidir. OpenShift üzerinde Java, Ruby, Node.js, Python, PHP gibi diller ile geliştirdiğiniz projeleri yayınlayabilir bunun yanı sıra Wordpress blogunuzu barındırabilirsiniz. Bu yazıda size OpenShift üzerinde bir sunucu oluşturmayı ve Intellij aracılığıyla kodlarımızı bu sunucu üzerinde çalıştırmayı anlatacağım.
Gerekli Malzemeler :)
- Intellij IDEA (Ultimate Version)
- Git
- OpenShift Hesabı
Hazırsanız başlayalım
Git Kurulumu
- Buraya tıklayarak Git indirme sayfasına gidelim.
- Downloads başlığı altında işletim sisteminize uygun olan versiyona tıklayalım. (Ben Windows kullanıyorum)
- Dosya indirme isteğine evet deyip Git‘i indirelim.
- Kurulum dosyasını açıp ayarlara dokunmadan Next diyerek kuralım. :)
OpenShift Hesabı Açma ve Application Oluşturma
- Buraya tıklayarak kayıt olma sayfasına gidelim. Gerekli alanları doldurup üyeliğimizi oluşturalım.
- Üye olurken girdiğimiz e-posta adresine bir onay e-postası gelecektir. Verify Your Account yazan yere tıklayıp, açılan sayfada I Accept yazan butona tıklayıp üyelik işlemini tamamlayalım.
- Başka bir sayfaya yönlendirildik. Geldiğimiz sayfada Create Your First Application yazan yere tıklayalım.
- Burada kurabileceğiniz sunucuları ve hazır paket programları(Wordpress vb.) göreceksiniz. Java başlığına ilerleyip Tomcat 7 (JBoss EWS 2.0) yazan yere tıklayalım.
- Açılan sayfada Public URL başlığında iki adet girmemiz gereken alan var. 1 numaralı alana uygulamamızı ifade edecek herhangi bir isim verebiliriz. 2 numaralı alan ise bizim OpenShift üzerinde açtığımız uygulamaları gruplayacak olan alan. Dolayısıyla bu alana gireceğimiz isim kullanımda olmamalıdır.
- Public Url alanını doldurduktan sonra aşağıdaki Create Application butonuna tıklıyoruz.
- Uygulamamız oluştuktan sonra bizi böyle bir ekran karşılayacak. Artık Visit App In The Browser yazan yere tıklayarak uygulamamızı görebiliriz.
- Evet, uygulamamız ayakta :) Şu anda varsayılan bir proje oluşturuldu. Bizim amacımız ise kodlarımızı bu sunucuda çalıştırmak. İşte burada IntelliJ devreye giriyor. Hazırsanız IntelliJ entegrasyonuna bakalım.
IntelliJ Entegrasyonu
- IntelliJ‘i açalım. Configure > Settings tıklayalım.
- Build, Execution, Deployment başlığı altında Clouds‘a tıklayalım. Sağ taraftan + işaretine tıklayıp OpenShift‘i seçelim.
- Açılan formda Username ve Password isimli alanlara OpenShift hesabımızın bilgilerini yazıyoruz ve domain kısmının dolması için biraz bekliyoruz. Bir süre sonra domain kısmına OpenShift üzerinde uygulama oluştururken verdiğimiz isim gelecektir. Burada en altta Connection Successful yazmasına da dikkat edelim.
- Formda görüldüğü üzere IntelliJ‘yi OpenShift‘e entegre etmek için yapmamız gereken tek bir şey kaldı. SSH Key upload etmek. SSH‘ın ne olduğu ayrı bir yazı konusu olmakla birlikte ben sadece işimize yarayan kısmını anlatacağım.
- Bilgisayarımıza Git kurmuştuk. Git ile birlikte komutları yazacağımız Git Bash isimli konsol da yüklenmiş olmalı. Git Bash‘i bulup açıyoruz. SSH Key oluşturmak için konsola “ssh-keygen” yazıp enter’a basıyoruz.
- Bize birkaç soru soracak. SSH Key‘in adı ne olsun, şifresi ne olsun gibi. Normalde güvenlik açısından pek uygun değil fakat hepsini boş bırakıp enter’la geçebiliriz. En sonda resimdekine benzer bir şekil çıktığında SSH Key‘imiz kırmızı çerçeve ile belirttiğim dizinde oluşmuş demektir. :)
- Kontrol etmek için .ssh klasörüne gidelim. Evet SSH Key‘imiz burada. Şimdi 3. adımdaki forma geri gidelim.
- Upload Public SSH Key yazan yere tıklıyoruz ve az önce oluşturduğumuz SSH Key‘imizi seçiyoruz. Burada dikkat edilmesi gereken nokta şu: .pub uzantılı olanı seçmeliyiz.
- SSH Key‘imizin başarıyla yüklendiği mesajını aldıktan sonra OK deyip formu kapatıyoruz.
- Şimdi OpenShift üzerinde oluşturduğumuz uygulamayı IntelliJ‘ye aktaralım. Buradan oluşturduğumuz uygulamaya gidelim. [
- Uygulamanın ismine tıklayalım. Detaylar geldiğinde sağ tarafta Source Code başlığı altında bir kod göreceksiniz. Bu kodu kopyalayıp projeyi IntelliJ‘ye aktarmak için kullanacağız. (Eğer kod gözükmüyorsa biraz bekleyin ve sayfayı birkaç kez yenileyin) [
- Kodu kopyaladıktan sonra, IntelliJ‘yi açıyoruz. Check out from Version Control kısmından Git‘i seçiyoruz.
- Açılan pencerede 1 numaralı alana kopyaladığımız kodu yapıştırıyoruz. 2 numaralı alanda projenin oluşturulacağı dizini belirliyoruz. 3 numaralı alanda projenin içine koyulacağı klasörün ismini veriyoruz. 4 numaralı butona basıp kodumuzu test ediyoruz (Uyarı penceresi çıkarsa Yes deyin) 5 numaralı Clone butonuna basarak projenin indirilmesini başlatıyoruz.
- İşlem bittikten sonra bir uyarı çıkacak projeyi açmak istiyor musunuz diye. Buna Yes diyoruz. Karşımıza bu pencere çıkıyor. OpenShift projeleri varsayılan olarak Maven ile oluşturulur bu yüzden Maven olarak import ediyoruz.
- Next deyip devam edelim.
- OpenShift profilini seçip Next diyelim.
- Next diyelim.
- Bilgisayarımızdaki JDK‘yı burada gösterelim.
- Kırmızı çerçeveli alana herhangi bir isim yazabilirsiniz önemli değil. Finish deyip bitiriyoruz.
- Projemiz geldi :) Burada gördüğünüz index.html dosyası deneme-kod5.rhcloud.com adresine girdiğinizde gelen sayfa oluyor.
- Şimdi yaptığımız değişiklikleri gönderebilmemiz için son bir işlem daha yapıyoruz. 1 ve 2 numaralı kısımlara sırasıyla tıklayalım.
- 1 numaralı butona tıklayıp OpenShift Deployment‘ı seçelim.
- Kırmızı çerçeve içindeki kısma herhangi bir şey yazabilirsiniz önemli değil. Ok deyip kapatalım.
- index.html‘de birkaç değişiklik yapıp, değişiklikleri göndermek için 2 numaralı butona basalım.
- Burada 1 numaralı alanda yaptığımız değişiklikler gelecek. Seçili olarak geleceği için bir şey yapmanıza gerek yok. 2 numaralı alanda göndereceğiniz kodun ne ile ilgili olduğuna dair herhangi bir şey yazabilirsiniz önemi yok. 3 numaralı butona tıklayarak tamamlıyoruz.
- Bir süre bekleyin. Kodlar OpenShift‘e gönderilecek ve oradaki sunucu yeniden başlatılacak. İşaretlediğim şekilde Server start yazısını görüyorsanız artık deneme-kod5.rhcloud.com adresinden kodlarımızı test edebiliriz :)
- Veee işte sonuç :)
OpenShift’e deploy işlemini elimden geldiğince anlatmaya çalıştım. Umarım faydası olur. Bu işlemler sırasında bir sorun oluşursa, bu yazının altına yorum olarak yazabilirsiniz ya da Facebook üzerinden bana ulaşabilirsiniz.