Release Information Mailing

lTunes
lTunes Tribe
Published in
4 min readJan 3, 2023

lTunes DevOps Chapter mailing süreçleri …

Her gün gelişip büyüyen teknoloji dünyasında biz de ekip olarak gelişmeyi ve yeni şeyler deneyimlemeyi sevmekteyiz. ❤ lTunes DevOps Chapteri olarak deneyimleyip, öğrenip çokça faydasını gördüğümüz bir başlığı paylaşmak isteriz,Release Information Mailing.

DevOps genel olara nedir diye bakacak olursak;

  • DEV” genelde yazılım geliştiriciler için kullanılan bir terimdir. Developer kısaltması olarak kullanılmaktadır. Ancak gerçek dünyada “dev” yazılım geliştirme için çalışan herkesi kapsamaktadır.
  • OPS”, “DEV”e göre daha geniş bir kapsam olarak, sistem mühendisleri, sistem yöneticileri, veri tabanı yöneticileri, network mühendisleri, güvenlik uzmanları ve daha birçok değişik alt disiplinler için kullanılmaktadır.
DevOps Yaşam Döngüsü

Genel bir tanım olarak aslında DevOps, IT bölümlerinin kendi içerisinde etkili iletişim üzerinden birbiri ile çalışmasıdır.Kültürel bir yaklaşım olmak ile beraber, yazılımcıların sistemlerinin çalışması için kullandığı tekniklerin , sistem ekipleri tarafından da kullanılmasıdır.Teknikler, kaynak kodu kontrolünden , Agile geliştirme süreçlerine kadar uzanmaktadır.

lTunes DevOps Chapteri olarak uygulamalarımızın DevOps metrikleri ile yönetip, kurgulamaktayız. Bu süreçlerde Doğuş Teknoloji içerisindeki ilgili ekipler ile koordineli bir şekilde çalışmalarımızı yürütmekteyiz. Yürüttüğümüz süreçlerin en önemlilerinden CI/CD sürecinin Continuous Deployment adımı.

Uygulamaların geliştirme adımlarını tamamladıktan sonra ortamlara sürekli teslimatını sağladığımız deployment adımlarında standart olması ve sağlıklı bir şekilde süreçlerin ilerletilmesini sağlamak önemli rollerimizden birisidir.

Gelin birlikte lTunes DevOps Chapter olarak bu standartlar içerisine yeni eklediğimiz Release Information Mailing’den bahsedelim.

Continuous Deployment adımı kritikliği sebebiyle Doğuş Teknoloji içerisinde birçok ekibi ilgilendiren bir adım. Bu süreçte bu adımların başlatıldığı ve tamamlandığı bilgisini Azure Devops bir mailing sistemi üzerinden sağlıyor fakat bu özellik kişiselleştirme imkanı sunmadığı ve isterlerimizi karşılamadığı için alternatif çözümler aramak için çalışmalar yapılmıştır. Özverili çalışma ve araştırmalar sonucunda istediğimiz sonuç için ilerlenecek adımlar bulunmaktadır.

Aslında bu adımın yapılması için bir çok farklı alternatif bulunmaktadır. Google veya Outlook üzerinden istenilen mailing işlemleri sağlanılabilmekte olup, DevOps Chapter olarak aldığımız karar ile birlikte ilgili süreci agent üzerinden PowerShell scripti ile smtp server erişilerek ilerletilmiştir.

Smtp server erişim süreçleri tamamlandıktan sonra, release adımında mail gönderimi sağlanabilmesi için standart layout uygulması adına bir variable group oluşturulmuştur. Süreçte standart olması ve bir standart ile ilerlenmesi süreçte bize fayda sağlamaktadır.

Oluşturulan variable group’da aşağıdaki bilgiler yer almaktadır;
* Gönderici adresi
* Gönderilecek mail adresleri (TO, CC, BCC)
* Konusu
* HTML Body
* SMTP Server
* Mail Önem Derecesi (HIGH, NORMAL, LOW)

NOT : BCC kullanımı uygulama özelinde değişkenlik gösterebilmektedir.

Gönderilecek mail adresleri standardı, süreçten haberdar olmasını istediğimiz kişilere gönderilecek şekilde düzenlenmesi gerekmektedir.

Variable Group Oluşturulması

Variable group oluşturulduktan sonra, mail gönderimi sağlamak istediğimiz uygulamamızın Release adımına geçilmektedir.
Örnek mail template şablonu aşağıdaki gibidir;

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:o="urn:schemas-microsoft-com:office:office">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="x-apple-disable-message-reformatting">
</head>
<body>
<h1>##domain##</h1>
<p>Merhaba</p>
<p><strong>##domain##</strong> uygulamamızda versiyon geçişi <strong>##startTime##</strong>&#39;de başlatılacaktır</p>
<p><strong>##endTime##</strong>&#39;e kadar gelebilecek alarmlar dikkate alınmayabilir</p>
<p>Bilgilerinize sunarız</p>
<p>İyi çalışmalar</p>
<p>L-Tunes DevOps<br/>Doğuş Teknoloji</p>
</body>
</html>
Release

Variables sekmesi altından erişilen Variable Groups alanından mail gönderiminde kullanılacak olan uygulamamızın daha önce oluşturulmuş olan layout kullanımını gerçekleştirebiliriz.

Variable Group Ekleme

Smtp server’a firewall erişim izni olan agentımıza scripti, powershell task ile ekleyebiliriz.

Release aşamasında Agent Job kısmından PowerShell eklenerek ilerlenebilmektedir. Aşağıdaki görselde belirtilen şekilde script eklenecektir.

PowerShell Script
Script Eklenilmesi Gereken Alan
Send Information Mail

İlgili alana script eklenmiştir.Olası bir şekilde mail gönderiminde sorun yaşanması durumunda Continue on error aktif edilerek, release akışının bloklanması engellenerek devamlılığı sağlanmıştır.

NOT: Kodlardaki domain variable’ı, pipeline variables alanında yer alan variable değişkeninden alınmaktadır.

Pipeline Variables Domain Tanımı

İlkleri birlikte yapıp öğrenmeyi hiç bırakmadan, yeni bir yazımızda görüşmek dileğiyle, keyifli okumalar dileriz.

lTunes DevOps’dan sevgilerle … ❤

--

--