git etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
git etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

23 Temmuz 2015 Perşembe

jenkins'de github ile kullanıcı kimlik kanıtlaması

    Jenkins yapılandırmasında varsayılan olarak oturum açmadan herkes erişim yapabilmektedir. Güvenlik açısından bunu düzeltmek gereklidir.
    Biz kullanıcıları doğrulamak için GitHub OAuth mekanizmasını kullandık.Bunun için 'jenkins'i Yönet'->'Eklentileri Yönet' da GitHub Authentication plugin yüklüyoruz.




Daha sonra 'Jenkins Yönet'->'Configure Global Security' seçiyoruz. "Güvenliği devreye al" seçeneğini işaretleyip orda "Github Authentication Plugin"lı seçiyoruz. Burda "Global Github OAuth" ayarlarını yapmamız gerekecek.


GitHub Web URL : https://github.com/
GitHub API URL: https://api.github.com/
Client ID : Github işlemci kimliği
Client Secret : Github gizli kimlik

Burada Github Apı ve Web aynı şekilde kalacak.
API bir uygulamanın belli işlevlerini  diğer uygulamanın kullanabilmesi için  iletişim kurmasını sağlıyor.



Client ID ve Client Secret'i github'dan elde edeceğiz şöyleki. Github sayfamıza giriyoruz. Sağ üst köşedeki profil resminin üstüne tıklayıp settings 'e giriyoruz.



Applications'ı seçiyoruz ve Authorized application oluşturuyoruz.Bizim için gerekli olanlar :

Application nameUygulama adı

: Uygulamanın ana sayfasının github urlsini giriyoruz.

: Kendinden başka bu uygulamanın potansiyel kullanıcılarının github url'ri

Authorization callback URL : Dönüş yapıcağı Url (http://İp:8080/securityRealm/finishLogin)(jenkins varsayılan olarak 8080 kullandığından ben portu 8080 yazdım siz değiştirdiyseniz ona dikkat edin)

Daha sonra kaydediyoruz ve git bize bir tane client id ve client secret vericek.



Yetkilendirme kısmında Github Commiter Authorization Strategy seçiyoruz ve buradaki ayarları yapıyoruz.

Admin user names : Admin olucak kişilerin github adı.

Participant in Organization : Dahil olunan organizasyon adı

Use Github repository permissions : Github depo izinlerini kullan.

Grant READ permissions to all Authenticated Users : Doğrulanmış kullanıcılara
okuma izni verilmesi.

Grant CREATE Job permissions to all Authenticated Users : Doğrulanmış kullanıcılara İş oluşturma izni.

Grant READ permissions for /github-webhook : /git-webhook okuma izni

Grant READ permissions for /cc.xml : /cc.xml dosyaları için okuma izni

Grant READ permissions for Anonymous Users : Anonim kullanıcılara okuma izni


Bu ayarları yaptıktan sonra kaydedip jenkins'i yeniden başlatıyoruz.


21 Temmuz 2014 Pazartesi

Git

     Bu yaz benim boş geçen son yazım ve kendimi geliştirmek için gerçekten çok zamanım var gibi,bu yaz  öğrendiklerimin bazılarını sizinle de paylaşmak istiyorum.Size biraz Github hakkında bilgi vermek istiyorum. Bende birinci sınıfın ilk dönemi kısa bir tanışma yaşamıştım Github'la fakat daha sonra pek kullanmadım. İkinci dönem sinirlenip bütün proje ödevimi sildikten sonra aslında projemin saklandığı bir uzak deponun olmasının sağlıklı olacağını düşünmeden edemedim. Bu sıralar Github'a bakıyordum ve belki öğrendiklerimin size de faydası olabilir diye paylaşmak istedim.

Github nedir?
    Github sürüm takip sistemi olarak bilinir peki sürüm takip sistemi ne anlama gelir?Sürüm kontrolü, bir ya da daha fazla dosya üzerinde yapılan değişiklikleri kaydeden ve daha sonra belirli bir sürüme geri dönebilmenizi sağlayan bir sistemdir.Github'ı Linux çekirdeğini geliştiren topluluk geliştirmiştir.
Git, inanılmaz ölçüde hızlı, büyük ölçekli projelerde alabildiğine verimli ve çizgisel olmayan geliştirim için inanılmaz bir dallanma (branching) sistemine sahip.
    Gitte  üç ağaç yapısı vardır;İlki bizim üzerinde çalıştığımız dizin ikincisi "add" komutu ile değişikliklerin algılandığı ve tutulduğu index üçüncüsü " commit " komutuyla kalıcı tutulan yer Head.
Giti kullanmaya başlamak için önce kurmanız gerekiyor.
Linux için kurulumu:
Fedora kullanıcısıysanız, yum'u kullanabilirsiniz:
"$ yum install git-core"
Ubuntu gibi Debian-tabanlı bir sistemdeyseniz, apt-get'i kullanabilirsiniz:
"$ apt-get install git"
Windows için kurulumu:
"http://msysgit.github.com/ "
Çalıştırılabilir kurulum dosyasını indirip çalıştırmanız yeterli.
Giti kurduktan sonra adınızı ve e-posta adresinizi ayarlamalısınız.
$ git config --global user.name "Melike Yurtoglu"
$ git config --global user.email aysemelikeyurtoglu.com
 Ayarlarınızı gözden geçirmek isterseniz aşağıdaki komutu kullanabilirsiniz:
$ git config --list
Git kullanırken yardıma ihtiyacınız olursa  "$ git help <eylem> " komutunu kullanabilirsiniz.
Elinizde bir proje varsa ve bunu git sürüm takip sistemi altına almak istemiyorsanız o klasöre gidip
bir depo oluşturmanız gerekir bunun için "$ git init" komutunu kullanmanız gerekir.
"$ git clone [url]" komutu ile istediğimiz git havuzunu klonlayabiliriz.Eğer adını değiştirmek isterseniz
url nın sonuna istediğiniz dosya adını yazarak komutu çalıştırırız. "$ git status"  komutu mevcut 
durumu görmek için kullanılır. "untracked files" başlığı altındaki dosyalar kontrol edilmeyen dosyalardır.
Bu dosyaları izlemeye almak gerekir.İzlemeye almak için "$ git add" komutu kullanılır.Bir dosyada
kayda hazırlamadığınız değişiklikleri görmek için "$ git diff" komutunu kullanabilirsiniz.
"$ git diff --cached" komutu ile kayda hazırlanmış değişiklikleri görebilirsiniz."$ git commit" ile kayıt 
yapıyoruz.'$ git commit -m "mesaj" ' komutunu kullanarak neyi kaydettiğin hakkında bilgi verebilirsin.
Bu mesajın kısa ve açıklayıcı olması beklenir.Gitte bir dosyanın adını değiştirmek için
 "$ git mv eski_dosya yeni_dosya"komutunu kullanırız. "$ git log --stat" her kayıtla ilgili özet bilgi verir.
Projeyi hangi uzak sunucuya ayarladığınızı görmek için "$ git remote -v" seçeneğini kullanarak gitin
bu kısa ad için depoladığı url yi görürsünüz.Uzaktaki bir depoyu eklemek için
"$ git remote add [kısa_ad] [url]" .Uç birim adını değiştirmek "$ git remote rename eski yeni"
komutu kullanılır.Git'te bir dal,kayıtlardan birine işaret eden, yer değiştirebilen kıvrak bir imleçten 
ibarettir. Git'teki varsayılan dal adı  master'dır.Siz başka bir dal oluşturmak isterseniz 
"$ git branch yeni_dal" komutunu kullanarak yeni bir dal oluşturabilirsiniz.Yeni bir dal oluşturmanız o
dala geçtiğiniz anlamına gelmez bu yüzden o dala geçiş yapmak için "$ git checkout yeni_dal" 
komutunu kullanırız.Dalları birleştirmek isterseniz masterla birleştirmek istediğiniz dalı yazarak 
"$ git merge yeni_dal"komutuyla dalları birleştirebilirsiniz. "$ git branch -d yeni_dal" komutu ile 
bu dalı silebilirsiniz.Dosyayla işiniz bittiğinde uzak depoya göndermek için "$ git push -u [depo] [branch]" 
komutuyla gönderebilirsiniz.

     Gitte daha öğrenilecek çok komut var. Git kullanmaya başladığınızda bunları daha çok öğrenme
fırsatınız olacaktır.Aşağıda çalışırken kullandığım bir kaç kaynağa bakabilirsiniz:
 
Git kitapçığı 

Try Github