Açıkladığınız kod ve konfigürasyonun mevcut organizasyonu, ilgili teknik çözümler tarafından yapılandırılmıştır. Bu, bakım faaliyetlerimize çok fazla yük ekleyecek ve yolumuza da çok sayıda tuzak katacak kötü bir tasarım. Bunun yerine, bu organizasyon dağıttığımız eserler etrafında yapılandırılmalıdır .
Bunun nedeni, artefaktları ( örn. Bir docker görüntüsü veya bir yazılım paketi) aşağıdaki fiillerin nesneleri olarak değerlendirmek istememizdir :
- inşa etmek
- Ölçek
- dağıtmak
gerçekleştirmek istediğimiz en az otomatik görevleri dikkate almak. Test fiilinin nasıl uygulandığı hakkında bir şey değiştirmek istersek, uygun depoda bu artefakta karşılık gelen klasörü ziyaret etmek ve daha sonra güncellenmesi gereken jenkinlere özgü otomasyon öğelerini keşfetmek kolaydır. Bunun yerine, otomasyon tarifleri teknik çözümler etrafında yapılandırılmışsa, o zaman jenkinlerin test prosedürlerine dahil olduğunu ve artefakt ile ilgili otomasyon öğelerini bulduklarını bulmalıyız. Karmaşık durumlarda, teknik çözümlerin etrafındaki organizasyon güncellemeleri çok zorlaştırır, çünkü bazı hizmetlerde yer alan tüm teknik çözümleri önceden güncellemek zorundayız.
Örneğin, bir web sitesinin kodunu ve "a" mikro hizmetini içeren bir havuz, işlemlere ayrılmış aşağıdaki alt dizinlere sahip olabilir:
./ops/website
./ops/micro-service-a
Herbiri üçer komut adı verilen build
, test
ve deploy
. Otomasyon ürünlerinin organizasyonu bir şekilde netleştiğine göre, dikkatimizi konfigürasyona çevirelim.
Konfigürasyon organizasyonu ile ilgili ana şartlar ve gereksinimler, deploy
servis benzeri bir nesneye uygulandığında fiil tarafından belirlenir . deploy
Fiili aşağıdaki parametrelere sahip olması gerekir:
- konuşlandırılacak eserin sürümü,
- konuşlandırılan yapının çalışacağı somut ortamı tanımlayan yapının dağıtım hedefi ( örneğin , konuşması gereken bir küme ve uç noktalar)
- diğer uç noktalara ( örn. veritabanları) bağlanmak için kullanması gereken kimlik bilgileri
- çalışma zamanı yapılandırması (önbellek girişlerinin ne kadar süre yaşayacağı gibi)
Operasyonel açıdan, parametrenin bu dökümü, çalışma zamanı yapılandırmasıyla birlikte paketlenebilecek kimlik bilgilerinin yanı sıra, dağıtım sorununun doğal özgürlük dereceleriyle eşleşir, ancak dikkatsizce yayılmamak için bunları ayırmak daha iyidir.