Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Quarkus Dersleri
  • Spring Dersleri
    • Spring Cloud
    • Spring Boot
    • Spring Uygulama Örnekleri
    • Spring Core
    • Spring JDBC Template
    • Spring MVC
  • İleri Java Dersleri
    • Java Server Faces
    • Java Server Pages
    • PrimeFaces
    • Servlet
    • JDBC
    • JSTL
    • Java 8
  • Hibernate Dersleri
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
  • Hakkımda
Spring Cloud

Spring Cloud Dersleri : Spring Boot Projesini Google Cloud App Engine Deploy Etmek

Paylaş

Spring Cloud Dersleri’ne devam ediyoruz.

Bu yazımızda bir Spring Boot Projesi’ni Google Cloud App Engine’ye nasıl deploy edilir. Google Cloud’da neler yapmamız gerektiğini, projemize hangi bağımlılıkları eklediğimizi göreceğiz.

Bir Spring projesi oluşturacağız. https://start.spring.io/ adresine girelim. Projemiz maven projesi olacak paket tipi olarak war seçiyoruz. Bağımlılıklarımız ise;

  • GCP Support GOOGLE CLOUD PLATFORM
  • Spring WEB

Bağımlılıklarımızı oluşturduktan sonra ise maven bağımlılığımız aşağıdaki gibi olacaktır.

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.burakkutbay</groupId>
    <artifactId>gcpspringboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>gcpspringboot</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR6</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-gcp-starter</artifactId>
        </dependency>

           <dependency>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-tomcat</artifactId>
               <scope>provided</scope>
           </dependency>      
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

Yukarıdaki pom.xml dosyamıza bir plugin ekleme yapmamız gerekiyor bu plugin Google Cloud için derlenmesi çalıştırılması ve deploy edilmesine yardımcı olacaktır.

<plugin>
 <groupId>com.google.cloud.tools</groupId>
 <artifactId>appengine-maven-plugin</artifactId>
 <version>2.0.0</version>
</plugin>

Bir controller oluşturalım bize Hello World desin.

@RestController
public class HelloController {
    @GetMapping("/")
    public String hello() {
        return "Hello World!";
    }
}

Spring Boot projemizin, Google Cluod App Engine‘de deploy ederken projenin özelliklerini anlaması için konfigürasyon dosyası diyebileceğimiz bir xml ekliyoruz.

webapp/WEB-INF/appengine-web.xml lokasyonuna ekliyoruz ve içerisine bilgileri yazıyoruz.

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    <version>1</version>
    <threadsafe>true</threadsafe>
    <runtime>java8</runtime>
</appengine-web-app>

Projemizdeki şu bağımlılığımızı kaldırıyoruz.

   <!-- Remove spring-boot-starter-tomcat dependency 
  <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-tomcat</artifactId>
       <scope>provided</scope>
  </dependency>
  -->

Eklediğimiz plugine devrettik.

Projemizi eklediğimiz pluginin çalıştırmasını sağlayalım. Aşağıdaki kodu yazarak projemizi çalıştıralım.

$ mvn appengine:run

Google Cloud’a Deploy Etmek


Bilgisiyarımıza GCloud SDK yüklüyoruz. GCloud SDK ile birlikte Google Cloud SDK Shell consol kullanarak Google Coulddaki projelerimizi yönetip bilgisayarımızaki projeleri de yükleyebiliyoruz.

Google Cloud SDK Shell’i açalım ve bir proje oluşturalım.

$ gcloud config set project spring-bootdeploy-829123

Ardından projemizin olması gereken ülkeyi seçiyoruz.

Google Cloud App Engine için kullanacağımız projemizi oluşturduktan sonra deploy ediyoruz. Deploy etmemiz için gereken komut aşağıdaki gibi olacaktır.

mvn appengine:deploy

Terminali takip ettiğimizde deploy edildiği ve projenin yayınlandığı adresi görebiliriz.

....
[INFO] GCLOUD: Deployed service [default] to [https://ornekprojeadi.appspot.com]
...

Ve sitemize gidelim sonucu görelim.

Spring Cloud Google Cloud App Engine

Tags:

google cloudgoogle cloud projesigoogle cloud sqlspring cloud dersleri

Paylaş

Diğer Yazılar

Spring Dersleri
Previous

Spring Boot Rest API Uygulama Swagger API Dökümantasyon Kullanım Örneği

blank
Next

PostgreSQL Veritabanı Tablosuna EXCEL / CSV Dosyadan Veri Eklemek

Next
blank
08 Temmuz 2020

PostgreSQL Veritabanı Tablosuna EXCEL / CSV Dosyadan Veri Eklemek

Previews
25 Haziran 2020

Spring Boot Rest API Uygulama Swagger API Dökümantasyon Kullanım Örneği

Spring Dersleri

No Comment! Be the first one.

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

Spring Cloud Dersleri

Spring Cloud Eureka Discovery Server Nedir? Uygulama Örneği

Spring Cloud Dersleri

Spring Cloud Dersleri

Spring Cloud Dersleri

Spring Cloud Nedir?

blank

Spring Cloud Dersleri : Spring Boot Projesini Google Cloud SQL Mysql Bağlantısı Kurmak

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Röportaj
Struts
Android
Vue.js
Node.js
Redis
XCode
Spring Data
Debezium
Mikroservis Mimarisi
Spring Native
Video
Spring Security
Objective C
iPhone Uygulama Geliştirme
JPA
DevOps
PostgreSQL
Apache Kafka
Git
Design Patterns
Yaptığım Projeler
Servlet
Maven
Spring Cloud
Linux
Spring
JDBC
PrimeFaces
Spring Jdbc Template
RabbitMQ
Google
Manset
Spring MVC
OCA Java SE 8
Quarkus
Spring Core
Microsoft
Veritabanı
Tanıyalım
Java SE
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github