Bitbucket

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    Merhaba mürid(e)ler, 

    Bu web projelerinin güncellemesini bakımını falan hep ftp üzerinden yaptım bugüne kadar.

    Ama iş artık işin içinden çıkılmaz bi hale geldi. 

    Küçük güncellemelerde sıkıntı yok, sağ tık düzenle deyip ilgili yeri değiştiriyorum. Ama büyük değişikliklerde, komple projeyi ftp üzerinden local makinama çekiyorum. Değişiklikleri uyguluyorum ve geri yüklüyorum, tabi bu arada veri bütünlüğünü falan korumak gerekiyor. 

    Neyse iyice sıkıcı olmaya başladı yani.

     

    Ben de bitbucket'da bir tane hesap oluşturdum. Neden github yerine bitbucket seçtin derseniz; private repository'leri bedavaya veriyor. 

    Benim ftp'de duran projeleri tuttum bu repolara attım. Sonra benim sunucuya bir tane ssh key tanımladım bitbucket üzerinden, repolara erişim için. Sonrası kolay oldu, bir tane cronjob görevi tanımladım şöyle birşey:

     

    * * * * * cd /var/www/test && git pull -q origin master

     

    Bu arkadaş 1 dakikada bir repoyu pull ediyor. 

     

    Sonra local'ime geçtim, açtım phpstorm'u bitbucket'a bağladım onu da. Kodu güncelleyip commit ettiğim anda çat diye websitem de güncelleniyor. 

    Gözlerim parladı, çok mutlu oldum ama birşeyi atlamışım.

     

    Client tarafından yüklenen dosyalar, sunucuya yükleniyor. Benim bitbucket'ıma değil. 

    Bunu nasıl yapabilirim ?

    Yani istiyorumki client atıyorum websitesinde bir resim güncellediğinde bu resim sunucu yerine repo'ya gitsin.

     

    Not : Şu kitabı buldum, ben basılmışını aldım da burda bedava. Ordan başladım okumaya: 

    https://aliozgur.gitbooks.io/git101/bolum_1_-_baslangic/versiyon__kontrolu_nedir.html

     

    Çalıştığım ortam takım arkadaşlarını falan kaldıran bir yer değil, istediğim sadece projelerimi bitbucket üzerinden sunucuya vermek. Yani bitbucket'ı sadece bu amaçla ve versiyonlama amacıyla kullanmak istiyorum.

    Bu konuda bilgili arkadaşlar ya da böyle yapan varsa, bilgi verebilir mi ?

     

     

    Cron ile dakikada bir pull etmekten daha mantıklı yollar var mıdır ?

    Dosya yüklemesi nasıl oluyor ?

    manyaki tarafından 04/Şub/19 16:03 tarihinde düzenlenmiştir

    since 2005 // tbt
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek

    Github desktop kullan hocam şuan 2 veya 3 projeyi private olarak tanımlayabiliyorsun ücretsiz bir şekilde.

    Localde güncellemeyi yapıp versiyon ile Github'a atıyorum.

    Daha sonra Trello vs güncelleyip son sürümü sunucuya upload ediyorum.

    Zaman zaman yaptığım değişiklikler projede sıkıntı olmaya başladı.

    Hatta Android projeye bir lib compile ediyorum. Bu libden dolayı proje patlıyor. Githubdan eski versiyonu indirip tekrar üstünde güncelleme yapıp yeni bir versiyon yüklüyorum.

    Ben Github'u öneririm sana daha önce hiç bitbucket kullanmadım.

    Bahsettiğin sıkıntıları bende çok yaşamıştım.Githubdan sonra hiç olmadı.


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    TeRRoR
    TeRRoR's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Erkek

    Hocam continuous development ve continuous integration olaylarına bak. Dakkada bir pull atmak yerine Jenkins ile otomatize edebilirsin. Çalışan sunucuda dosya yüklendikten sonra repo'na gönderilmesi olayı bambaşka birşey. Eğer böyle birşey istiyorsan sunucudanda otomatik add, commit, push yapan bir job oluşturman gerekiyor. Ancak bu durum sağlıklı olmaz genelde development ve production ortamının configleri farklıdır ve ileride sorun yaşayabilirsin.


    herkes programcı olmak zorunda değildir, lütfen bir zorunluluk gibi programlama dilleri öğrenmeye çalışmayın. yabancı dil filan öğrenin amq.// s.kimin etini yerim, kasaba minnet etmem.// ince düşünene kalın girer.//
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nick6
    0x656e
    0x656e's avatar
    Kayıt Tarihi: 19/Mayıs/2012
    Homo
    TeRRoR bunu yazdı

    Hocam continuous development ve continuous integration olaylarına bak. Dakkada bir pull atmak yerine Jenkins ile otomatize edebilirsin. Çalışan sunucuda dosya yüklendikten sonra repo'na gönderilmesi olayı bambaşka birşey. Eğer böyle birşey istiyorsan sunucudanda otomatik add, commit, push yapan bir job oluşturman gerekiyor. Ancak bu durum sağlıklı olmaz genelde development ve production ortamının configleri farklıdır ve ileride sorun yaşayabilirsin.

    Eğer CD/CI işlerine bakacaksan bitbucket değilde Gitlab kullanırsan daha sağlıklı olacaktır diye düşünüyorum baya güzel olayları var diye DUYDUM. Bu arada Github'da da artık private repo sınırsız ve bedava. 

    Yaptığın değişikliklerin master branch'ine push edilmesi zaten Git mantığına biraz aykırı. 

    Yani istiyorumki client atıyorum websitesinde bir resim güncellediğinde bu resim sunucu yerine repo'ya gitsin.

    Şuna gelirsek muhtemelen yazdığın backend dilinde buraya bir trigger ekleyip arka planda ilgili (örn:images) klasörünün değişikliğini saptayıp eğer değişim varsa Git servisine pushlayacak bir şey yazman gerekir veya 

    1. Resim boyutunu alıp bir önceki ile eşit mi kontrol et.

    2. Boyut aynıysa md5'ini alıp bir önceki ile eşit mi kontrol et.

    Bu 2.seçenekte de durum false olursa arkada bir trigger ile ilgili pushla.

    2.Seçenek:
    İmages klasörünü bir repository haline getir git diff ile repo farklılıklarını gözeterek bu şekilde dakikada 1 pushla.




  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    coder2
    coder2's avatar
    Kayıt Tarihi: 15/Mart/2007
    Erkek

    Github 2019 yılı itibariyle free hesaplarda da sınırsız private repositoriest imkanı sunmaya başladı. Fakat private repo lara max 3 takım arkadaşı ekleyebiliyorsun. Kaynak: https://github.com/pricing 

     

    Repo dan sunucuya clone etme olayını biliyorum fakat tersi durum nasıl olur konuyu okuyunca merak ettim. Bilgili&tecrübeli arkadaşların yazacağı yorumlar aydınlatıcı olacaktır.


    Önceleri Kızlar Utanınca Kızarırdı Şimdilerde Kızarınca Utanıyorlar..
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    @MhmdAlmz seninkinin FTP muhabbetinden farkı yok. Hocam ha bitbucket ha github, ikisi de benim ihtiyacıma cevap verebiliyor. Versiyonlama için mantıklı sadece.

    @TeRRoR ne gibi sorunlar hocam ? Biraz açıklayıcı anlatabilir misiniz ? Atıyorum güvenlik riskleri bunlar vs gibi. Dediğiniz keyword'ler için çok teşekkür ederim arayıp da aklıma gelmeyen keyword'lerdi.

    @0x656e Amacım github'ı mantığı dışında kullanmak birazcık. Yani ben de takım olayı muhabbeti falan yok. Tek yazılımcıyım, şirkette de öyleyim, freelancer olarak da. GitLab'ı bilmiyordum, ona bakiyim birazcık. TeRRoR müridimizin dediğini anlatmışsınız, çok teşekkür ederim. Benim de aklıma o metot gibi birşeyler gelmişti de pek vakıf değilim git konusuna. O şekilde bir tane daha batch dosyası yazayım ben. O da onu kontrol etsin.

     

    Tam olarak yapmak istediğim bu aslında: continuous development.

     

    Teşekkür ediyorum yanıtlar için, dediğiniz şeyleri uygulayayım ben 0x656e. Keyword'ler için tekrar teşekkür ederim TeRRoR, araştırıcam. Şu an temel düzeyde acilen işimi halledicek birşey çıksın, üstüne düşücem sonra.

     

    Edit:

    Birşeyler var gibi okuyayım sizinle de paylaşayım ilgisini çeken varsa :

    https://www.atlassian.com/continuous-delivery

    https://bitbucket.org/product/features/pipelines

     

    manyaki tarafından 04/Şub/19 17:51 tarihinde düzenlenmiştir

    since 2005 // tbt
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nick6
    0x656e
    0x656e's avatar
    Kayıt Tarihi: 19/Mayıs/2012
    Homo
    MhmdAlmz bunu yazdı

    Github desktop kullan hocam şuan 2 veya 3 projeyi private olarak tanımlayabiliyorsun ücretsiz bir şekilde.

    Localde güncellemeyi yapıp versiyon ile Github'a atıyorum.

    Daha sonra Trello vs güncelleyip son sürümü sunucuya upload ediyorum.

    Zaman zaman yaptığım değişiklikler projede sıkıntı olmaya başladı.

    Hatta Android projeye bir lib compile ediyorum. Bu libden dolayı proje patlıyor. Githubdan eski versiyonu indirip tekrar üstünde güncelleme yapıp yeni bir versiyon yüklüyorum.

    Ben Github'u öneririm sana daha önce hiç bitbucket kullanmadım.

    Bahsettiğin sıkıntıları bende çok yaşamıştım.Githubdan sonra hiç olmadı.

    Yeni okudum yanıtını.

    Git sistemi zaten bunun için var o compile ettiğin lib'e özel bir branch aç. Master branchden farklı olsun. Eğer başarılı olursa master branch ile merge edersin. Mesajından anlıyorum ki Github'ı sadece dosya barındırmak için kullanıyorsun :)



     

    0x656e tarafından 04/Şub/19 17:56 tarihinde düzenlenmiştir
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nick6
    0x656e
    0x656e's avatar
    Kayıt Tarihi: 19/Mayıs/2012
    Homo

    Ek mesaj:

    Kusura bakmayın çok yazdım fakat lütfen ".gitignore" dosyalarınızı düzgün yapılandırın sunucularınızda ".git" klasörü, cache dosyaları bulunmasın.

    https://github.com/WangYihang/GitHacker

    https://blogs.msdn.microsoft.com/devops/2018/05/29/announcing-the-may-2018-git-security-vulnerability/

  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek
    manyaki bunu yazdı

    Cron ile dakikada bir pull etmekten daha mantıklı yollar var mıdır ?

    Bu yönteme polling deniyor ve kesinlikle iyi bir yöntem değil. Alternatif olarak @Terror'un de dediği yönteme bakman lazım. CI/CD işleri koca bir dünya, arada kaybolma. Aradığın keyword: webhooks.

    Şuraya bakabilirsin: https://confluence.atlassian.com/bitbucketserver/managing-webhooks-in-bitbucket-server-938025878.html

    Ayrıca Bitbucket gayet iyi bir tercih, github bok yesin.

    Tüm bunların dışında adamların verdiği ücretsiz private repo'yu CDN amacıyla kullanman hiç doğru değil hocam. Hem etik değil, hem mimari olarak doğru değil. Image/Media dosyaları için ayrı bir CDN çözümü araştırmanı öneririm. Firebase cloud storage işini görür muhtemelen. 5 GB free, daha fazlasına ihtiyaç duyuyorsan da uygun fiyatları vardı ($0.026/GB).

    https://firebase.google.com/products/storage/

    https://firebase.google.com/pricing/


    Sen hiç kaval çaldın mı?
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek
    JPriest bunu yazdı
    manyaki bunu yazdı

    Cron ile dakikada bir pull etmekten daha mantıklı yollar var mıdır ?

    Bu yönteme polling deniyor ve kesinlikle iyi bir yöntem değil. Alternatif olarak @Terror'un de dediği yönteme bakman lazım. CI/CD işleri koca bir dünya, arada kaybolma. Aradığın keyword: webhooks.

    Şuraya bakabilirsin: https://confluence.atlassian.com/bitbucketserver/managing-webhooks-in-bitbucket-server-938025878.html

    Ayrıca Bitbucket gayet iyi bir tercih, github bok yesin.

    Tüm bunların dışında adamların verdiği ücretsiz private repo'yu CDN amacıyla kullanman hiç doğru değil hocam. Hem etik değil, hem mimari olarak doğru değil. Image/Media dosyaları için ayrı bir CDN çözümü araştırmanı öneririm. Firebase cloud storage işini görür muhtemelen. 5 GB free, daha fazlasına ihtiyaç duyuyorsan da uygun fiyatları vardı ($0.026/GB).

    https://firebase.google.com/products/storage/

    https://firebase.google.com/pricing/

    Polling yaptığımın ve bundan rahatsız olduğumdan sormuştum hocam, teşekkürler bir bakıcam :)

    CDN amacıyla kullanmak istemem tabiki, kendi sunucumdan yayınlayacağım.

    Herşey daha netleşti, teşekkür ediyorum hepinize.

    Bitbucket'ın dökümantasyonu da çok güzel. Github'ı bilmiyorum.


    since 2005 // tbt
Toplam Hit: 1483 Toplam Mesaj: 10
bitbucket