Documentation

You are viewing the documentation for the 2.3.x release series. The latest stable release series is 2.4.x.

§Uygulamanızın bağımsız bir sürümünü yaratmak

§dist görevini kullanmak

Bir Play uygulamasını dağıtmanın en kolay yolu, kaynağını (genelde bir git iş akışıyla) sunucuda bulundurmak ve activator start veya activator stage komutlarından birini kullanarak onu yerinde başlatmaktır.

Ancak, bazen uygulamanızın ikili bir versiyonunu inşa ederek, Play’e bağımlı kalmadan sunucuya doğrudan dağıtmaya ihtiyaç duyabilirsiniz. Bunu, dist göreviyle yapabilirsiniz.

Play konsolunda dist yazın:

[my-first-app] $ dist

Bu, uygulamanızın target/universal dizininde, uygulamanızı çalıştırmak için gerekecek bütün JAR dosyalarını içeren bir ZIP dosyası oluşturur. Alternatif olarak işletim sisteminizin konsolunda, aynı işi yapan activator dist komutunu da yazabilirsiniz:

$ activator dist

Windows kullanıcıları için .bat dosya uzantılı bir başlangıç betiği üretilecektir. Bir Play uygulamasını Windows’da çalıştırmak için bunu kullanın.

Unix kullanıcıları için, zip dosyaları Unix dosya izinlerini korumaz. Bu sebeple zip dosyası açıldığında başlangıç betiğinin çalıştırıalbilir olarak ayarlanması gerekir:

$ chmod +x /path/to/bin/<project-name>

Alternatif olarak, bir tar.gz dosyası da üretilebilir. Tar dosyaları izinleri korur. dist görevi yerine universal:package-zip-tarball görevini çağırın:

activator universal:package-zip-tarball

Varsayılan olarak, dist görevi oluşturulan pakete API dokümantasyonunu da ekelyecektir. Eğer bu gereli değilse, aşağıdaki satır build.sbt dosyasına eklenerek bundan kaçınılabilir:

doc in Compile <<= target.map(_ / "none")

Alt projeli inşalarda, yukarıdaki ifade bütün alt proje tanımlarına uygulanmalıdır.

§Yerli Paketleyici

Play, SBT Native Packager eklentsi’ni kullanır. Yerli paketleyici eklentisi dist görevini bir zip dosyası yaratacak şekilde beyan eder. dist görevini çağırmak, aşağıdaki komutu çalıştırmakla eşdeğerdir:

$ activator universal:package-bin

Aşağıdaki türler de dahil, birçok başka türde arşiv elde edilebilir:

Ayrıntılı bilgi için lütfen yerli paketleyicideki dokümantasyona başvurun.

§Bir sunucu dağıtımı inşa etmek

sbt-native-packager eklentisi aşağıdaki özellikleri etkinleştiren bir java_server prototipi (archetype) sağlar:

Tam bir dökümantasyon bu adreste bulunabilir.

java_server prototipi varsayılan olarak etkindir, ancak hangi paketleri inşa etmek istediğinize göre bazı ayarlar eklemeniz gerekebilir.

§Asgari Debian ayarları

import com.typesafe.sbt.SbtNativePackager._
import NativePackagerKeys._

maintainer in Linux := "Ad Soyad <[email protected]>"

packageSummary in Linux := "Özel Paket Özeti"

packageDescription := "Uzun paket açıklaması"

Paketinizi bu komutla inşa edin:

play debian:packageBin

§Asgari RPM ayarları

import com.typesafe.sbt.SbtNativePackager._
import NativePackagerKeys._

maintainer in Linux := "Ad Soyad <[email protected]>"

packageSummary in Linux := "Özel Paket Özeti"

packageDescription := "Uzun paket açıklaması"

rpmRelease := "1"

rpmVendor := "example.com"

rpmUrl := Some("http://github.com/example/server")

rpmLicense := Some("Apache v2")
play rpm:packageBin

Bazı hata mesajları yazdırılabilir. Bu yalnızca rpm’in stdout yerine stderr’e günlük tutmasıdır.

§Play PID Yapılandırması

Üretim yapılandırması sayfasında tarif edildiği gibi, Play kendi PID’ini idare eder.
Başlangıç betiğine PID dosyasını nereye koyacağını bildirmek için src/templates/ dizini içine etc-default isimli bir dosya koyun ve aşağıdaki içeriği ekleyin:

-Dpidfile.path=/var/run/${{app_name}}/play.pid
# Buraya diğer bütün başlangıç ayarlarını da ekleyin

Yer değiştirmelerin bütün listesine yakından bakmak için dokümantasyon’u ziyaret edin.

§Bir Maven (veya Ivy) deposuna yayımlamak

Aynı zamanda uygulamanızı bir Maven deposuna yayımlayabilirsiniz. Bu, hem uygulamanızı içeren JAR dosyasını hem de karşılık gelen POM dosyasını yayımlar.

build.sbt dosyasında yayımlamak istediğiniz depo için yapılandırmalar yapmalısınız:

 publishTo := Some(
   "Çözücüm" at "http://mycompany.com/repo"
 ),
 
 credentials += Credentials(
   "Depo", "http://mycompany.com/repo", "admin", "admin123"
 )

Sonrasında Play konsolunda, publish görevini kullanın:

[my-first-app] $ publish

Çözücüler ve kimlik bilgileri tanımlamaları hakkında daha fazla bilgi almak için sbt dokümantasyonu’nu ziyaret edin.

§SBT assembly eklentisini kullanmak

Resmi olarak desteklenmese de, SBT assembly eklentisi Play uygulamalarını paketlemek ve çalıştırmak için kullanılabilir. Bu, çıktı olarak bir jar oluşturacak ve onu java komutuyla doğrudan çalıştırmanıza izin verecektir.

Bunu kullanmak için, project/plugins.sbt dosyanızda bu eklentiye bir bağımlılık ekleyin:

addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.11.2")

Şimdi, aşağıdaki yapılandırmayı build.sbt dosyanıza ekleyin:

import AssemblyKeys._

assemblySettings

mainClass in assembly := Some("play.core.server.NettyServer")

fullClasspath in assembly += Attributed.blank(PlayKeys.playPackageAssets.value)

Artık activator assembly komutunu çalıştırarak uygulamanızın bir paketini oluşturabilir ve onu aşağıdaki komutla çalıştırabilirsiniz:

$ java -jar target/scala-2.XX/<projenizinadı>-assembly-<version>.jar

You’ll need to substitute in the right project name, version and scala version, of course.

Sonraki: Üretim yapılandırması


Dokümantasyonun bu çevirisi Play ekibi tarafından yapılmamaktadır. Eğer bir hata bulduysanız, bu sayfanın kaynak kodu burada bulunmaktadır. Dokümantasyon yönergelerini okuduktan sonra lütfen katkı yapmaktan çekinmeyin.