Geliştirici Topluluğu'ndan gelen birden çok istek giderildi

Geri bildiriminize yanıt olarak, Geliştirici Topluluğu'nda istediğiniz birden çok özelliğe öncelik verdik. İşlem Hatları'nda YAML ifadesinde dize bölme işlevi desteği ekledik. Buna ek olarak, artık bir işlem hattı çalıştırması için son işleme iletisinin gösterimini devre dışı bırakmanıza izin veriyoruz. Teslimat Planlarında ekip sınırını 15'ten 20'ye çıkardık.

Ayrıntılar için sürüm notlarına göz atın.

Azure Boards

Azure Boru Hatları

Azure Boards

Teslimat Planları ekip sınırını 15'ten 20'ye yükseltin

Teslim Planları, kuruluşunuzun genelinde birden fazla geri logu ve ekibi görüntülemenizi sağlar. Daha önce, farklı projelerden iş listeleri ve ekiplerin bir karışımı da dahil olmak üzere 15 ekip iş listesi görüntüleyebiliyordunuz. Bu sprint'te maksimum sınırı 15'ten 20'ye çıkardık.

Raporlama İş Öğesi Bağlantıları Alma API'sinde, System.LinkTypes.Remote.Related bağlantı türü için doğru remoteUrl değerini döndüren bir hatayı düzelttik. Bu düzeltmeden önce, yanlış kuruluş adını ve eksik proje kimliğini döndürüyorduk.

Yeni Boards Hub hata düzeltmeleri

Bu sprint'te New Boards Hub için birden çok hatayı düzeltdik. Yeni Boards Hub, Sprint 209 güncelleştirme blog gönderisinde hata düzeltmelerinin listesini görebilirsiniz.

Azure Boru Hatları

Boru hattı çalışması için son commit mesajını göstermeyi devre dışı bırakma

Önceden İşlem Hatları kullanıcı arabirimi, bir işlem hattının çalıştırılmasını görüntülerken son işlem mesajını gösterirdi.

Son işleme iletisi örneği

Bu ileti, örneğin YAML işlem hattınızın kodu, oluşturmakta olduğu kodun bulunduğu depodan farklı bir depoda bulunduğunda kafa karıştırıcı olabilir. Geliştirici Topluluğu'ndan gelen geri bildiriminizi duyduk ve bize her işlem hattı çalıştırmasının başlığına en son işleme iletisini ekleme/devre dışı bırakma seçeneği sağlamamız için bir yol talep ettiğinizi anladık.

Bu güncelleştirmeyle, tam olarak bunu yapmanızı sağlayan adlı appendCommitMessageToRunNameyeni bir YAML özelliği ekledik. Varsayılan olarak özelliği olarak trueayarlanır. Ayarı false yaparsanız, işlem hattı çalışması sadece BuildNumber öğesini görüntüleyecektir.

Build numarasıyla işlem hattı çalıştırma örneği

Son commit mesajıyla işlem hattı çalıştırma örneği

İşlem Hatları Çalışmaları Rest API'sinde Tüketilen Kaynaklar ve Şablon Parametreleri

Genişletilmiş İşlem Hatları Çalıştırmaları REST API'si artık bir işlem hattı çalıştırması tarafından kullanılan daha fazla yapıt türünü ve bu çalıştırmayı tetiklemede kullanılan parametreleri döndürür. API'yi, çalıştırılan işlem hattında kullanılan container ve pipeline kaynaklarını ve şablon parametrelerini döndürecek şekilde geliştirdik. Artık, örneğin, bir işlem hattı tarafından kullanılan depoları, kapsayıcıları ve diğer işlem hattı çalıştırmalarını değerlendiren uyumluluk denetimleri yazabilirsiniz.

Yeni yanıt gövdesinin bir örneği aşağıda verilmiştir.

"resources":
{
    "repositories":
    {
        "self":
        {
            "repository":
            {
                "id": "e5c55144-277b-49e3-9905-2dc162e3f663",
                "type": "azureReposGit"
            },
            "refName": "refs/heads/main",
            "version": "44153346ecdbbf66c68c20fadf27f53ea1394db7"
        },
        "MyFirstProject":
        {
            "repository":
            {
                "id": "e5c55144-277b-49e3-9905-2dc162e3f663",
                "type": "azureReposGit"
            },
            "refName": "refs/heads/main",
            "version": "44153346ecdbbf66c68c20fadf27f53ea1394db7"
        }
    },
    "pipelines":
    {
        "SourcePipelineResource":
        {
            "pipeline":
            {
                "url": "https://dev.azure.com/fabrikam/20317ad0-ae49-4588-ae92-6263028b4d83/_apis/pipelines/51?revision=3",
                "id": 51,
                "revision": 3,
                "name": "SourcePipeline",
                "folder": "\\source"
            },
            "version": "20220801.1"
        }
    },
    "containers":
    {
        "windowscontainer":
        {
            "container":
            {
                "environment":
                {
                    "Test": "test"
                },
                "mapDockerSocket": false,
                "image": "mcr.microsoft.com/windows/servercore:ltsc2019",
                "options": "-e 'another_test=tst'",
                "volumes":
                [
                    "C:\\Users\\fabrikamuser\\mount-fabrikam:c:\\mount-fabrikam"
                ],
                "ports":
                [
                    "8080:80",
                    "6379"
                ]
            }
        }
    }
},
"templateParameters":
{
    "includeTemplateSteps": "True"
}

YAML şablon ifadelerinde dize bölme işlevi için destek ekleme

YAML işlem hatları, bir listenin değeri veya nesnenin özelliği arasında each döngü yapma gibi kod yinelemesini azaltmak için kullanışlı yollar sağlar.

Bazen üzerinden geçilecek öğeler kümesi bir dize olarak temsil edilir. Örneğin, dağıtılacak ortamların listesi dizesi integration1, integration2tarafından tanımlandığında.

Geliştirici Topluluğu'ndan gelen geri bildirimlerinizi dinlediğimizde YAML şablon ifadelerinde bir dize split işlevi istediğinizi duyduk.

Artık bir dizeyi split ve bu dizenin alt dizelerini yineleyebilirsiniz each.

variables:
  environments: integration1, integration2

jobs:
  - job: Deploy
    steps:
    - ${{ each env in split(variables.environments, ', ') }}:
      - script: ./deploy.sh -e ${{ env }}
      - script: ./runTest.sh -e ${{ env }}

Git deposunu getirirken etiketleri eşitlemeyin

Checkout görevi, Git deposunun içeriğini getirmek için --tags seçeneğini kullanır. Bu, sunucunun hem tüm etiketleri hem de bu etiketler tarafından işaret edilen tüm nesneleri getirmesine neden olur. Bu, özellikle de çok sayıda etiket içeren büyük bir deponuz varsa, işlem hattında görevi çalıştırma süresini artırır. Ayrıca, çekme işlemi sığ getirme seçeneğini etkinleştirdiğinizde bile etiketleri eşitler ve böylece amacını boşa çıkarabilir. Git deposundan getirilen veya çekilen veri miktarını azaltmak için, şimdi etiketleri eşitleme davranışını denetlemek için göreve yeni bir seçenek ekledik. Bu seçenek hem klasik hem de YAML işlem hatlarında kullanılabilir.

Bu davranış YAML dosyasından veya kullanıcı arabiriminden denetlenebilir.

Etiketleri YAML dosyası aracılığıyla eşitlemeyi devre dışı bırakmak için fetchTags: false ifadesini kontrol aşamasına ekleyin. fetchTags seçeneği belirtilmediğinde, fetchTags: true kullanılmasıyla aynı durumu ifade eder.

steps:
- checkout: self  # self represents the repo where the initial Pipelines YAML file was found
  clean: boolean  # whether to fetch clean each time
  fetchTags: boolean # whether to sync the tags
  fetchDepth: number  # the depth of commits to ask Git to fetch
  lfs: boolean  # whether to download Git-LFS files
  submodules: boolean | recursive  # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules
  path: string  # path to check out source code, relative to the agent's build directory (e.g. \_work\1)
  persistCredentials: boolean  # set to 'true' to leave the OAuth token in the Git config after the initial fetch

Mevcut YAML işlem hatlarının davranışını değiştirmek istiyorsanız, YAML dosyasını güncelleştirmek yerine kullanıcı arabiriminde bu seçeneği ayarlamak daha kullanışlı olabilir. Kullanıcı arabirimine gitmek için işlem hattının YAML düzenleyicisini açın, Tetikleyiciler'i, ardından İşlem'i ve ardından Kullanıma Alma adımını seçin.

Bu ayarı hem YAML dosyasında hem de kullanıcı arabiriminde belirtirseniz, YAML dosyasında belirtilen değer öncelikli olur.

Oluşturduğunuz tüm yeni işlem hatları (YAML veya Klasik) için etiketler varsayılan olarak eşitlenir. Bu seçenek mevcut işlem hatlarının davranışını değiştirmez. Yukarıda açıklandığı gibi seçeneği açıkça değiştirmediğiniz sürece etiketler bu işlem hatlarında eşitlenir.

Ubuntu 18.04 görüntüleri için elektrik kesintisi programı güncellendi

Azure Pipelines, barındırılan havuzlarımızdaki Ubuntu 18.04 görüntüsünü (ubuntu-18.04) kullanım dışı bırakmaktadır. Bu görüntü 1 Aralık'ta kullanımdan kaldırılacak. Daha uzun kuyruk süreleri görmeye başlayabilirsiniz.

ubuntu-18.04 görüntüsünü kullanan işlem hatlarını daha iyi belirlemenize yardımcı olmak için geçici hizmet kesintileri planlıyoruz. Kısmi güç kesintisi dönemlerinde işler başarısız olabilir.

  • ubuntu-18.04 görüntüsü kullanılarak işlem hattı çalıştırmalarında uyarı iletileri görüntülenir
  • Kullanım dışı bırakılmış görüntüleri kullanan, ubuntu-18.04 dahil, işlem hatlarını bulmanıza yardımcı olacak bir betik mevcuttur.
  • Kısa süreli "brownouts" planlıyoruz. Tüm ubuntu-18.04 çalıştırmaları, kesinti süresi boyunca başarısız olur. Bu nedenle, iş akışlarınızı planlı kesintilerden önce geçirmeniz önerilir.

Zaman aşımı zamanlaması (güncelleştirildi)

  • 3 Ekim 12:00 UTC - 3 Ekim 14:00 UTC
  • 18 Ekim 14:00 UTC - 18 Ekim 16:00 UTC
  • 15 Kasım 18:00 UTC - 15 Kasım 20:00 UTC
  • 30 Kasım 20:00 UTC - 30 Kasım 22:00 UTC
  • 15 Aralık 20:00 UTC - 16 Aralık 00:00 UTC
  • 5 Ocak 10.00 UTC - 5 Ocak 14.00 UTC
  • 13 Ocak 12.00 UTC - 13 Ocak 16.00 UTC
  • 18 Ocak 14.00 UTC - 18 Ocak 18.00 UTC
  • 24 Ocak 16.00 UTC - 24 Ocak 20.00 UTC
  • 1 Şubat 18.00 UTC - 1 Şubat 22.00 UTC
  • 7 Şubat 16.00 UTC - 7 Şubat 22.00 UTC
  • 13 Şubat 14.00 UTC - 13 Şubat 22.00 UTC
  • 21 Şubat 10.00 UTC - 21 Şubat 22.00 UTC
  • 28 Şubat 10.00 UTC - 28 Şubat 22.00 UTC
  • 6 Mart 00.00 UTC - 7 Mart 00.00 UTC
  • 13 Mart 00.00 UTC - 14 Mart 00.00 UTC
  • 21 Mart 00.00 UTC - 22 Mart 00.00 UTC

Sonraki Adımlar

Uyarı

Bu özellikler önümüzdeki iki-üç hafta içinde kullanıma sunulacaktır.

Azure DevOps'a gidin ve bir göz atın.

Geri bildirim sağlama

Bu özellikler hakkında düşüncelerinizi duymak isteriz. Bir sorunu bildirmek veya öneri sağlamak için yardım menüsünü kullanın.

Öneride bulunma

Stack Overflow'da topluluk tarafından öneriler ve sorularınıza yanıt alabilirsiniz.

Teşekkürler

Aaron Hallberg