Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Derleme hazırlığında CodeQL veritabanını başlatır.
Taranan depo için GitHub Advanced Security for Azure DevOps etkinleştirmiş olmanız gerekir.
Sözdizimi
# Advanced Security Initialize CodeQL v1
# Initializes the CodeQL database in preparation for building.
- task: AdvancedSecurity-Codeql-Init@1
inputs:
#enableAutomaticCodeQLInstall: false # boolean. Enable automatic CodeQL detection and installation. Default: false.
#languages: # 'csharp' | 'cpp' | 'go' | 'java' | 'javascript' | 'python' | 'ruby' | 'rust' | 'swift'. Languages to analyze.
#querysuite: 'Select a query suite...' # 'Select a query suite...' | 'code-scanning' | 'security-extended' | 'security-experimental' | 'security-and-quality'. CodeQL Query Suite to use for analysis. Default: Select a query suite....
#buildtype: 'Manual' # 'Manual' | 'None'. Select build mode (manual vs none). Default: Manual.
# Advanced
#ram: # string. Options to control RAM usage in MB.
#threads: # string. Use this many threads to evaluate queries.
#codeqlpathstoignore: # string. Set a list of paths to exclude in the CodeQL analysis.
#codeqlpathstoinclude: # string. Set a list of additional paths to include in the CodeQL analysis.
#sourcesfolder: # string. Sets the folder that contains the sources to be analyzed.
#loglevel: '_' # '0' | '1' | '2' | '_'. Set the log level for the CodeQL analysis. Default: _.
#configfilepath: # string. Use this to enable custom query analysis in codeql (path must be absolute).
#codeqltoolsdirectory: # string. Set a custom CodeQL tools directory (path must be absolute).
Giriş
enableAutomaticCodeQLInstall
-
Otomatik CodeQL algılama ve yükleme etkinleştirme
boolean. Varsayılan değer: false.
Bu seçeneğin seçilmesi, görevi aracıda CodeQL'i otomatik olarak denetleyecek şekilde ayarlar. CodeQL doğru yapılandırılmamışsa veya en son sürümdeyse, görev otomatik olarak en son sürümü yükler.
analiz etmek için languages - Dilleri
string. İzin verilen değerler: csharp, cpp, go, java, javascriptswiftpythonrubyrust.
Analiz için programlama dili. Birden çok dil virgülle ayrılabilir.
- task: AdvancedSecurity-Codeql-Init@1
inputs:
languages: 'cpp, java, python'
# This languages value is valid, the Pipelines editor
# doesn't recognize all combinations and only validates
# correctly when a single language is specified
Burada, görevdeki dili ayarlayabilir veya dili advancedsecurity.codeql.languageadlı bir işlem hattı değişkeninde belirtebilirsiniz. Her ikisi de ayarlanırsa, görevde belirtilen değer önceliklidir.
Analiz için kullanılacak CodeQL Sorgu Paketi'ni querysuite - .
string. İzin verilen değerler: Select a query suite..., code-scanning, security-extended, security-experimental, security-and-quality. Varsayılan değer: Select a query suite....
Analiz için kullanılan kural kümesi gibi sorgu paketi. Burada görevdeki değeri belirtebilir veya advancedsecurity.codeql.querysuiteadlı bir işlem hattı değişkeninde belirtebilirsiniz. Her ikisi de ayarlanırsa, görevde belirtilen değer önceliklidir. Varsayılan değer, sorgu paketinin Select a query suite... değişkeninde belirtilmesi gerektiğini gösteren advancedsecurity.codeql.querysuite değeridir.
buildtype
-
Derleme modunu seçme (el ile hiçbiri)
string. İzin verilen değerler: Manual, None. Varsayılan değer: Manual.
CodeQL analizini çalıştırmadan önce projeyi el ile oluşturmak istiyorsanız Manual belirtin. Projeyi oluşturmadan CodeQL analizini çalıştırmak istiyorsanız None belirtin.
Farklı yapı modları hakkında daha fazla bilgi ve her derleme modunun faydaları hakkında karşılaştırma için CodeQL kod taraması derlenmiş diller ve kod tarama modu özelleştirmesi bölümlerine bakınız.
MBRAM kullanımını denetlemek için ram - Seçenekleri
string.
Sorgu değerlendiricisinin kullanmasına izin verilmesi gereken toplam RAM miktarını ayarlayın.
Burada görevdeki ram belirtebilir veya advancedsecurity.codeql.ramadlı bir işlem hattı değişkeninde belirtebilirsiniz. Her ikisi de ayarlanırsa, görevde belirtilen değer önceliklidir.
threads
-
Sorguları değerlendirmek için bu kadar çok iş parçacığı kullanın
string.
Makinede çekirdek başına bir iş parçacığı kullanmak için 0 geçirebilir veya N çekirdeklerini kullanılmadan bırakmak için -N (yine de en az bir iş parçacığı kullanma dışında).
Burada görevdeki threads belirtebilir veya advancedsecurity.codeql.threadsadlı bir işlem hattı değişkeninde belirtebilirsiniz. Her ikisi de ayarlanırsa, görevde belirtilen değer önceliklidir.
codeqlpathstoignore
-
CodeQL çözümleme dışlamak için yolların listesini ayarlama
string.
Virgülle ayrılmış birden çok yol sağlayabilirsiniz. Yollar CodeQL'in çalıştığı sourcesfolder göre olmalıdır ve varsayılan olarak Build.SourcesDirectory işlem hattı ortam değişkeni kullanılır. Örneğin, $(Build.SourcesDirectory)/donotscan dizinini yoksaymak için codeqlpathstoignore: donotscanyerine codeqlpathstoignore: $(Build.SourcesDirectory)/donotscan ayarlayın.
Önemli
codeqlpathstoignore ayarı yalnızca CodeQL görevlerini yorumlanmış bir dilde (Python, Ruby ve JavaScript/TypeScript) çalıştırdığınızda veya kodu oluşturmadan derlenmiş bir dili analiz ettiğinizde (şu anda C# ve Java için desteklenmektedir) geçerlidir.
codeqlpathstoinclude
-
CodeQL çözümleme eklenecek ek yolların listesini ayarlayın
string.
Virgülle ayrılmış birden çok yol sağlayabilirsiniz. Yollar CodeQL'in çalıştığı sourcesfolder göre olmalıdır ve varsayılan olarak Build.SourcesDirectory işlem hattı ortam değişkeni kullanılır. Örneğin, $(Build.SourcesDirectory)/app dizinini eklemek için codeqlpathstoinclude: appyerine codeqlpathstoinclude: $(Build.SourcesDirectory)/app ayarlayın.
Önemli
codeqlpathstoinclude ayarı yalnızca CodeQL görevlerini yorumlanmış bir dilde (Python, Ruby ve JavaScript/TypeScript) çalıştırdığınızda veya kodu oluşturmadan derlenmiş bir dili analiz ettiğinizde (şu anda C# ve Java için desteklenmektedir) geçerlidir.
sourcesfolder
-
Analiz edilecek kaynakları içeren klasörü ayarlar
string.
Değer değişkene Build.SourcesDirectory göre olmalıdır. Bu değeri sağlamazsanız, işlem hattı altyapısı için varsayılan kaynaklar klasörü kullanılır (Build.SourcesDirectory değişkeni tarafından sağlanır).
loglevel
-
CodeQL çözümleme için günlük düzeyini ayarlama
string. İzin verilen değerler: 0 (Uyarı), 1 (Ayrıntılı), 2 (Hata Ayıklama), _ (Varsayılan (Uyarı)). Varsayılan değer: _.
Günlük düzeyini belirtin.
Burada görevdeki loglevel belirtebilir veya advancedsecurity.codeql.logleveladlı bir işlem hattı değişkeninde belirtebilirsiniz. Her ikisi de ayarlanırsa, görevdeki _ için varsayılan değer loglevel belirtilmediği sürece görevde belirtilen değer öncelikli olur.
_ belirtilirse, varsa advancedsecurity.codeql.loglevel değeri kullanılır.
configfilepath
-
Codeql'de özel sorgu analizini etkinleştirmek için bunu kullanın (yol mutlak olmalıdır).
string.
Yol sağlanmazsa codeql analizi varsayılan sorgularla devam eder.
codeqltoolsdirectory
-
Özel CodeQL araçları dizini ayarlama (yol mutlak olmalıdır)
string.
Yol sağlanmazsa, varsayılan $agent_toolsdirectory değeri kullanılır.
Görev denetimi seçenekleri
Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz. Denetim seçenekleri ve ortak görev özellikleri.
Çıkış değişkenleri
Hiç kimse.
Açıklamalar
Taranan depo için GitHub Advanced Security for Azure DevOps etkinleştirmiş olmanız gerekir.
Önemli
Bu görev yalnızca Azure Repos Git depolarında desteklenir.
İşlem hattı, görevleri aşağıdaki sırayla çağırmalıdır.
- CodeQL'i başlatma
- AutoBuild (veya özel derleme görevleriniz)
- CodeQL analizi gerçekleştirme
AutoBuild görevi isteğe bağlıdır ve özel derleme görevlerinizle değiştirilebilir. Projenizin analiz edilmesi için AutoBuild veya özel derleme görevlerinizin çalıştırılması gerekir.
Gereksinim -leri
| Gereksinim | Açıklama |
|---|---|
| İşlem hattı türleri | YAML, Klasik derleme, Klasik sürüm |
| Üzerinde çalışır | Aracı, DeploymentGroup |
| Talepleri | Hiç kimse |
| Özellikleri | Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz. |
| Komut kısıtlamaları | Herhangi |
| Ayarlanabilir değişkenleri | Herhangi |
| Aracı sürümü | 2.209.0 veya üzeri |
| Görev kategorisi | Yapmak |
Ayrıca bkz.
- GitHub Gelişmiş Güvenlik için Kod taraması