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

Geri bildiriminize yanıt olarak, Geliştirici Topluluğu istediğiniz birden çok özelliğe öncelik verdik. pipelines bölümünde YAML ifadesinde dize bölme işlevi desteği ekledik. Buna ek olarak, artık işlem hattı çalıştırması için son işleme iletisini göstermeyi devre dışı bırakmanıza izin ve ediyoruz. 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 Pipelines

Azure Boards

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

Teslim Planları, kuruluşunuz genelinde birden çok kapsamı ve birden çok ekibi görüntülemenizi sağlar. Daha önce, farklı projelerden kapsamlar ve ekiplerin bir karışımı da dahil olmak üzere 15 ekip kapsamı görüntüleyebiliyorsunuz. Bu sprint'te maksimum sınırı 15'ten 20'ye çıkardık.

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

Yeni Boards Hub hata düzeltmeleri

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

Azure Pipelines

İşlem hattı çalıştırması için son işleme iletisini göstermeyi devre dışı bırakma

Daha önce, işlem hattının çalıştırmasını görüntülerken son işleme iletisini göstermek için kullanılan İşlem Hatları kullanıcı arabirimi.

Son işleme iletisi örneği

Örneğin, YAML işlem hattınızın kodu, derlediğinden farklı bir depoda bulunduğunda bu ileti kafa karıştırıcı olabilir. her işlem hattı çalıştırmasının başlığına en son işleme iletisini eklemeyi etkinleştirmek/devre dışı bırakmak için bir yol istediğimizi Geliştirici Topluluğu geri bildiriminizi aldı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. olarak falseayarladığınızda işlem hattı çalıştırması yalnızca öğesini BuildNumbergörüntüler.

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

Son işleme iletisiyle işlem hattı çalıştırma örneği

İşlem Hatlarında kullanılan kaynaklar ve şablon parametreleri Rest API Çalıştırır

Genişletilmiş İşlem Hatları Çalıştırmaları REST API'sinde artık bir işlem hattı çalıştırması tarafından kullanılan daha fazla yapıt türü ve bu çalıştırmayı tetiklemede kullanılan parametreler döndürülür. API'yi, ve pipeline kaynaklarını ve işlem hattı çalıştırmasında kullanılan şablon parametrelerini döndürecek container şekilde iyileş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.

Burada yeni yanıt gövdesinin bir örneği 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 desteği ekleme

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

Bazen, yinelenmek üzere öğ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 geri bildirimlerinizi dinlerken YAML şablon ifadelerinde bir dize split işlevi istediğinizi duyduk.

Artık bir dizeyi ve alt dizelerini yineleyebilirsiniz spliteach .

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

Kullanıma alma görevi, Git deposunun içeriğini getirirken seçeneğini kullanır--tags. 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, görevi işlem hattında çalıştırma süresini artırır. Ayrıca, kullanıma alma görevi, sığ getirme seçeneğini etkinleştirdiğinizde bile etiketleri eşitler ve böylece amacını yenebilir. Git deposundan getirilen veya çekilen veri miktarını azaltmak için, artık 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 geri çevirmek için öğesini kullanıma alma adımına ekleyin fetchTags: false . fetchTags Seçenek belirtilmediğinde, kullanılanla fetchTags: true aynıdır.

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 zaman aşımı zamanlaması güncelleştirildi

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ü hangi işlem hatlarının kullandığını daha iyi belirlemenize yardımcı olmak için kesintiler planlıyoruz. İşler bir kesinti döneminde başarısız olur.

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

Brownout 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

Not

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 bulun

Stack Overflow'da topluluk tarafından yanıtlanmış öneriler ve sorularınıza da ulaşabilirsiniz.

Teşekkürler,

Aaron Hallberg