Depo ve kapsayıcı kaynak tanımlarında şablon ifadeleri desteği
Bu güncelleştirmeyle, depo ve kapsayıcı kaynak tanımlarında şablon ifadeleri için destek ekledik. Artık bir depo kaynağının dalını ref
seçmek için YAML işlem hattındaki bir repository
kaynağın özelliğini tanımlarken şablon ifadelerini kullanabilirsiniz. Ayrıca, YAML işlem hattındaki bir container
kaynağın endpoint
, volumes
, ports
ve options
özelliklerini tanımlarken şablon ifadeleri için destek ekledik.
Ayrıntılar için sürüm notlarına göz atın.
Azure Boards
- İş öğesi bağlantı türlerini düzenleme
- Geçici sorgu REST uç noktası oluşturma
- Toplu silme API'si (Özel Önizleme)
- Teslim Planlarında makro @CurrentIteration
Azure Pipelines
- Depo Kaynak Tanımında Şablon İfadeleri
- Kapsayıcı Kaynak Tanımında Şablon İfadeleri
- Onaylarda Yapılan Değişiklikler için Olayları Denetleme
- Görev kitaplığı Aracı barındırma modelini kullanıma sunar
Azure Boards
İş öğesi bağlantı türlerini düzenleme
Daha önce, bir iş öğesi bağlantısını değiştirmek için en az üç adımın tamamlanması gerekir. Örneğin, ilişkili bir bağlantının üst bağlantısını değiştirmek için iş öğesi kimliğini kopyalamanız, üst bağlantıyı kaldırmanız, ilgili türde yeni bir var olan bağlantıyı eklemeniz ve son olarak kopyalanan kimliği yapıştırıp kaydetmeniz gerekir. Bu hantal bir süreçtir.
Bağlantı türünü doğrudan düzenlemenize ve değiştirmenize izin vererek sorunu çözdük. Bağlantı türünü tek bir adımda hızla değiştirebilirsiniz.
Not
Bu özellik yalnızca New Boards Hubs önizlemesinde kullanılabilir.
Geçici sorgu REST uç noktası oluşturma
Çeşitli uzantı yazarlarının, querystring aracılığıyla İş Öğesi Sorgu Dili (WIQL) deyimini geçirerek kaydedilmemiş sorgular çalıştırmaya çalıştığını gördük. Querystring uzunluğundaki tarayıcı sınırlarına ulaşan büyük bir WIQL deyiminiz yoksa bu işlem düzgün çalışır. Bunu çözmek için araç yazarlarının geçici bir sorgu oluşturmasına olanak sağlayan yeni bir REST uç noktası oluşturduk. Querystring aracılığıyla geçirmek için yanıt kimliğinin kullanılması bu sorunu ortadan kaldırır.
Geçici sorgular REST API belgeleri sayfasında daha fazla bilgi edinin.
Toplu silme API'si (özel önizleme)
Şu anda, iş öğelerini geri dönüşüm kutusundan kaldırmanın tek yolu bu REST API'yi kullanarak teker teker silmektir. Bu yavaş bir işlem olabilir ve herhangi bir kitle temizleme işlemi yapmaya çalışırken hız sınırlamasına tabidir. Yanıt olarak, iş öğelerini toplu olarak silmek ve/veya yok etmek için yeni bir REST API uç noktası ekledik.
Bu yeni uç noktanın özel önizlemesine katılmak istiyorsanız lütfen doğrudan bize e-posta gönderin.
@CurrentIteration Teslim Planlarındaki makro
Bu güncelleştirmeyle, Teslim Planları'ndaki @CurrentIteration stiller için makro desteği ekledik. Bu makro, planınızdaki her satırın ekip bağlamından geçerli yinelemeyi almanıza olanak verir.
Azure Pipelines
Depo Kaynak Tanımında Şablon İfadeleri
YAML işlem hattındaki bir repository
kaynağın ref
özelliğini tanımlarken şablon ifadeleri için destek ekledik. Bu, Geliştirici Topluluğu tarafından çok istenen bir özellikti.
İşlem hattınızın aynı depo kaynağının farklı dallarını kullanıma almalarını istediğiniz kullanım örnekleri vardır.
Örneğin, kendi deposunu oluşturan bir işlem hattınız olduğunu ve bunun için kaynak deposundan bir kitaplığı kullanıma alması gerektiğini varsayalım. Ayrıca işlem hattınızın kendi kullandığı kitaplık dalını kullanıma almalarını istediğinizi varsayalım. Örneğin, işlem hattınız dalda main
çalışıyorsa kitaplık deposunun main
dalını kullanıma almalıdır. İşlem hatları dalda dev
çalışıyorsa kitaplık dalını dev
kullanıma almalıdır.
Bugüne kadar kullanıma alınacak dalı açıkça belirtmeniz ve dal her değiştiğinde işlem hattı kodunu değiştirmeniz gerekiyordu.
Artık bir depo kaynağının dalını seçmek için şablon ifadelerini kullanabilirsiniz. İşlem hattınızın ana dalları dışındaki dallar için kullanılacak aşağıdaki YAML kodu örneğine bakın:
resources:
repositories:
- repository: library
type: git
name: FabrikamLibrary
ref: ${{ variables['Build.SourceBranch'] }}
steps:
- checkout: library
- script: echo ./build.sh
- script: echo ./test.sh
İşlem hattını çalıştırdığınızda depoyu kullanıma almak için library
dalı belirtebilirsiniz.
Derleme kuyruğu zamanında genişletilmesi gereken şablonun sürümünü belirtme
Şablonlar , kod çoğaltmayı azaltmanın veişlem hatlarınızın güvenliğini artırmanın harika bir yolunu temsil eder.
Popüler kullanım örneklerinden biri, şablonları kendi depolarında depolamaktır. Bu, bir şablon ile onu genişleten işlem hatları arasındaki eşleştirmeyi azaltır ve şablonu ve işlem hatlarını bağımsız olarak geliştirmeyi kolaylaştırır.
Bir adım listesinin yürütülmesini izlemek için bir şablonun kullanıldığı aşağıdaki örneği göz önünde bulundurun. Şablon kodu depoda Templates
bulunur.
# template.yml in repository Templates
parameters:
- name: steps
type: stepList
default: []
jobs:
- job:
steps:
- script: ./startMonitoring.sh
- ${{ parameters.steps }}
- script: ./stopMonitoring.sh
Depoda FabrikamFiber
bulunan bu şablonu genişleten bir YAML işlem hattınız olduğunu varsayalım. Bugüne kadar, depoyu şablon kaynağı olarak kullanırken depo kaynağının templates
özelliğini dinamik olarak belirtmek ref
mümkün değildi. Bu, işlem hattınızın kodunu değiştirmek istediğiniz anlamına geliyordu: farklı bir daldaki şablonu genişletme İşlem hattınızla aynı dal adından bir şablonu genişletme İşlem hattınızı hangi dala çalıştırdığınızdan bağımsız olarak genişletme
Depo kaynak tanımında şablon ifadelerinin kullanıma sunulmasıyla, işlem hattınızı aşağıdaki gibi yazabilirsiniz:
resources:
repositories:
- repository: templates
type: git
name: Templates
ref: ${{ variables['Build.SourceBranch'] }}
extends:
template: template.yml@templates
parameters:
steps:
- script: echo ./build.sh
- script: echo ./test.sh
Bunu yaptığınızda, işlem hattınız şablonu işlem hattının çalıştığı dalla aynı dalda genişletir, böylece işlem hattınızın ve şablonunuzun dallarının her zaman eşleştiğinden emin olabilirsiniz. Başka bir ifadeyle, işlem hattınızı bir dalda dev
çalıştırırsanız, deponun dalındaki dev
templates
dosya tarafından template.yml
belirtilen şablonu genişletir.
Ya da aşağıdaki YAML kodunu yazarak derleme sırasında hangi şablon deposu dalını kullanacağınızı seçebilirsiniz.
parameters:
- name: branch
default: main
resources:
repositories:
- repository: templates
type: git
name: Templates
ref: ${{ parameters.branch }}
extends:
template: template.yml@templates
parameters:
steps:
- script: echo ./build.sh
- script: echo ./test.sh
Artık, daldaki main
işlem hattınızın bir şablonu bir çalıştırmada daldan dev
genişletmesini ve işlem hattınızın kodunu değiştirmeden başka bir çalıştırmada daldan main
bir şablonu genişletmesini sağlayabilirsiniz.
Bir depo kaynağının ref
özelliği için bir şablon ifadesi belirtirken, önceden tanımlanmış değişkenleri ve parameters
sistem kullanabilirsiniz, ancak YAML veya pipelines kullanıcı arabirimi tanımlı değişkenleri kullanamazsınız.
Kapsayıcı Kaynak Tanımında Şablon İfadeleri
YAML işlem hattındaki bir container
kaynağın endpoint
, volumes
, ports
ve options
özelliklerini tanımlarken şablon ifadeleri için destek ekledik. Bu, Geliştirici Topluluğu tarafından çok istenen bir özellikti.
Artık YAML işlem hatlarını aşağıdaki gibi yazabilirsiniz.
parameters:
- name: endpointName
default: AzDOACR
type: string
resources:
containers:
- container: linux
endpoint: ${{ parameters.endpointName }}
image: fabrikamfiber.azurecr.io/ubuntu:latest
jobs:
- job:
container: linux
steps:
- task: CmdLine@2
inputs:
script: 'echo Hello world'
şablon ifadelerinizde ve variables.
kullanabilirsinizparameters.
. Değişkenler için yalnızca YAML dosyasında tanımlananları kullanabilirsiniz, ancak İşlem Hatları kullanıcı arabiriminde tanımlananları kullanamazsınız. Örneğin aracı günlük komutlarını kullanarak değişkeni yeniden tanımlarsanız herhangi bir etkisi olmaz.
Onaylarda Yapılan Değişiklikler için Olayları Denetleme
Onaylar , bir aşamanın ne zaman çalıştırılması gerektiğini denetlemenize olanak tanır. Bu genellikle üretim ortamlarına yapılan dağıtımları denetlemek için kullanılır. Denetim, uyumluluk gereksinimlerini karşılamanıza ve Azure DevOps kuruluşunuzun güvenliğini izlemenize olanak tanır.
Bir kullanıcıdan belirli bir aşamaya dağıtmak üzere işlem hattını onaylaması istendiğinde, bu kullanıcı onayı başka birine yeniden atamayı seçebilir.
Şimdiye kadar bu tür eylemler Denetim günlüklerine kaydedilmedi. Bu sorun artık düzeltildi.
Denetim günlükleri aşağıdakine benzer bir giriş içerir.
[
{
"Id": "2517368925862632546;00000264-0000-8888-8000-000000000000;839ad1ba-f72b-4258-bc3f-88be7a4553b5",
"CorrelationId": "8392d1ba-f76b-4258-bc3f-88be7a4553b5",
"ActivityId": "a298a06c-965f-4e60-9643-2593f2066e37",
"ActorCUID": "fe950802-bf07-755b-826d-e8dcc066252c",
"ActorUserId": "fe950802-bf07-755b-826d-e8dcc066252c",
"ActorUPN": "silviu@fabrikam.app",
"AuthenticationMechanism": "AAD_Cookie",
"Timestamp": "2022-10-10T11:26:53.7367453Z",
"ScopeType": "Organization",
"ScopeDisplayName": "Fabrikam (Organization)",
"ScopeId": "547a7316-cdf4-40d2-af16-3215f97d053e",
"ProjectId": "4bf16944-3595-421f-9947-79d9eb190284",
"ProjectName": "FabrikamFiber",
"IpAddress": "127.0.0.1",
"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.37",
"ActionId": "ApproverReassigned",
"Data": {
"ApprovalId": "dae6e7c9-2a10-4cd8-b63a-579a6e7ba78d",
"OldApproverUserId": "692b6e2a-dd61-4872-866a-85498da390fc",
"OldApproverDisplayName": "[FabrikamFiber]\\Build Administrators",
"NewApproverUserId": "fe95080b-bf07-655b-226d-e8dcc066252c",
"NewApproverDisplayName": "Jack Fabrikam",
"Comment": "All admins are OOO"
},
"Details": "Reassigned approver of Approval dae6e7c9-9a10-4cd8-b63a-579a6e7ba78d in Project \"FabrikamFiber\" from \"[FabrikamFiber]\\Build Administrators\" to \"Jack Fabrikam\" with comment \"All admins are OOO\".",
"Area": "Checks",
"Category": "Modify",
"CategoryDisplayName": "Modify",
"ActorDisplayName": "Silviu"
}
]
Buna ek olarak, Denetim kullanıcı arabiriminde gösterilir.
Görev kitaplığı Aracı barındırma modelini kullanıma sunar
Bir aracının Microsoft tarafından barındırılan havuzlarda çalışıp çalışmadığını belirlemek isteyen Görev Yazarları artık barındırma modelini belirlemek için Görev Kitaplığı işlevini getAgentMode()
kullanabilir. Bu, bir görevin müşterinin ağına erişime dayalı olarak davranışı etkilemek istediği senaryolarda faydalıdır. Bir görev, bir müşterinin ağında bulunan şirket içinde barındırılan bir aracıdan veya ölçek kümesi aracılarından yürütülürse özel uç nokta üzerinden bir Azure hizmetine ulaşmayı deneyebilir.
Bkz. görev başvurusu.
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.
Stack Overflow'da topluluk tarafından yanıtlanmış öneriler ve sorularınıza da ulaşabilirsiniz.
Teşekkürler,
Vijay Machiraju
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin