GitHub ve Docker Hub hesaplarına sahip olduğunuzu varsayıyorum. Ayrıca uygulamanızın GitHub'ta mevcut olduğunu fakat imajın Docker Hub'ta olmadığını varsayıyorum. Bundan sonra git ile "push" işlemi yaptığımızda Docker Hub içinde alakalı imajın yaratılıp yaratılmadığını göreceğiz. GitHub uygulaması inanzzz/hello_php olarak geçiyor ama yukarıda da belirttiğimiz gibi Docker Hub içinde henüz imaj bulunmuyor. Daha fazla bilgi için Configure automated builds on Docker Hub sayfasını okuyun.


Uygulama yapısı


hello$ tree
.
├── app
│ ├── a.php
│ └── b.php
├── docker
│ ├── docker-compose.yml
│ ├── .env
│ └── php
│ └── Dockerfile
└── Readme.md

3 directories, 5 files

Hesap bağlantıları


Docker Hub hesabına gidip "Create > Create Automated Build" yolundaki "Link Accounts" butonuna tıklayın. Ekrandaki talimatları takip edip bağlantıyı tamamlayın. Bu çok basit bir işlem.


Otomatik kurulum yaratımı


Docker Hub


  1. Docker Hub hesabına gidip "Create > Create Automated Build" yolundaki "Create Auto-build" butonuna tıklayın.

  2. Sonraki sayfada GitHub uygulamasının ismine tıklayın.

  3. Açılan sayfada "Create Automated Build" linkine tıklayın.

  4. Açılan sayfada "Click here to customize" linkine tıklayın.

  5. Form'u uygun bir şekilde doldudun. Type: Branch, Name: Master, Dockerfile Location: /docker/php, Docker Tag Name: latest. Bu, git "push" işleminde imajın yeniden kurulmasını ve latest olarak etiketlenmesini sağlayacaktır. Gerekli imajı Docker Hub içinde "Tags" menüsü altında görebilirsiniz.

  6. "Activate Trigers" butonunu tıklayın. Bu bir tane "Trigger URL" yaratacak. Şu an için bunu not edin.

GitHub


  1. GitHub'a gidip uygulamanızı seçin.

  2. "Settings" menüsünü seçin.

  3. "Webhooks" linkine tıklayın.

  4. "Add Webhook" butonuna tıklayın.

  5. Daha önceden yarattığınız "Trigger URL" bilgisini "Payload URL" alanına yapıştırın.

  6. "Just the push event" seçeneğini işaretleyin.

  7. "Add Webhook" butonunu tıklayın.

Yukarıdaki adımları tamamladığınız zaman Docker Hub imajı hemen yaratacaktır. Docker Hub içindeki "Build Details" menüsünde görebilirsiniz.