Depo ve kapsayıcı kaynak tanımlarında şablon ifadeleri desteği
Bu güncelleştirmeyle, depo ve kapsayıcı kaynak tanımlarına şablon ifadeleri desteği dahil ettik. 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. Buna ek olarak, 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 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.
Geçici sorgu REST uç noktası oluşturma
İş Öğesi Sorgu Dili (WIQL) deyimini sorgu dizesi aracılığıyla geçirerek kaydedilmemiş sorgular çalıştırmaya çalışan uzantı yazarlarının birkaç örneğini gördük. Sorgu dizesi uzunluğu için tarayıcı sınırlarına ulaşan büyük bir WIQL deyiminiz olmadığı sürece bu işlem düzgün çalışır. Bunu çözmek için araç yazarlarının geçici bir sorgu oluşturmasına izin veren yeni bir REST uç noktası oluşturduk. Sorgu dizesi aracılığıyla geçirmek için yanıttan kimliğin kullanılması bu sorunu ortadan kaldırır.
Geçici sorgular REST API belgeleri sayfasından 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 alması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 bir kaynak deposundan 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 olmayan 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 deponun kullanıma alınacağını dalını library
belirtebilirsiniz.
Derleme kuyruğu zamanında genişletecek şablonun sürümünü belirtme
Şablonlar , kod çoğaltmayı azaltmanın ve işlem hatlarınızın güvenliğini geliştirmenin 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 bağlamayı 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 zorunda kaldığınız anlamına geliyordu: Farklı bir daldan şablon genişletme İşlem hattınızla aynı dal adından bir şablonu genişletme( işlem hattınızı çalıştırdığınız daldan bağımsız olarak)
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. Yani işlem hattınızı bir dalda dev
çalıştırırsanız, deponun dalında dev
templates
dosya tarafından template.yml
belirtilen şablonu genişletir.
Ya da aşağıdaki YAML kodunu yazarak derleme kuyruğu zamanında hangi şablon depo 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 çalışmada bir şablonu daldan dev
genişletmesini ve başka bir çalıştırmada işlem hattınızın kodunu değiştirmeden bir şablonu daldan main
genişletmesini sağlayabilirsiniz.
Depo kaynağının ref
özelliği için bir şablon ifadesi belirtirken önceden tanımlanmış değişkenleri kullanabilir parameters
ve sistem oluşturabilirsiniz, ancak YAML veya pipelines UI 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 girdi içerir.
[
{
"Id": "2517368925862632546;00000264-0000-8888-8000-000000000000;839ad1ba-f72b-4258-bc3f-88be7a4553b5",
"CorrelationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"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 sahip olup olmadığı temelinde 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 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 öneriler ve sorularınıza yanıt alabilirsiniz.
Teşekkürler,
Vijay Machiraju