2013-05-31 13 views
12

kullanın şimdi pep8 testlerinin sonuçlarını bildirmek için İhlalleri yapılandırılmasıyla ilgili şaşırıp. Ben bir toplu komutuyla PEP8 çalıştırmak ve çalışma alanında biter tüm ihlalleri saklayan bir .txt dosyası oluşturmak, böyleceYaratma PEP8 xml raporu/İhlaller ben kurulum Cobertura başarıyla Jenkins aracılığıyla çalıştırın ve kapsama raporları oluşturmak için var

Şu anda o var.

Ben bu ihlaller Raporu İhlalleri Sonrası inşa eyleme göndermek için bir xml dosyası oluşturmak için toplu komutları tanımlamak gerekir mi? Eğer öyleyse, bu komutu nasıl tanımlarım?

+0

A8K pep8 çıktı dosyası adını (çalışma alanının içinde) rapor ihlallerinde pep8 için satırda ekleyerek sonuçların jenkins'de görünmesini sağlamak için yapmanız gereken tek adım ... –

cevap

24

Vajk'ın işaret ettiği gibi, bir XML dosyasına ihtiyacınız yoktur. Pep8 yardımcı programının çıktısını bir dosyaya kolayca aktarabilir ve bunu Jenkins'de ihlal dosyası olarak kullanabilirsiniz. altında Jenkins inşa yapılandırmasında Örneğin

:

Build -> Execute Shell -> Command 

yazabilirsiniz:

pep8 path/to/code > pep8_report.txt 

Sonra altında:

Post-build Actions -> Report Violations -> pep8/XML filename pattern 

eklenti:

pep8_report.txt 

UI bir XML dosyası için sorar ve dosya bir XML dosyası olmamasına rağmen, bu benim için 1.499 Jenkins sürümünde iyi çalıştı. böylece umarım bu başkalarına yardım edecek,

+0

Ayrıca [flake8] 'i kullanabilirsiniz. (https://flake8.readthedocs.org/en/2.3.0/index.html) pep8 ihlali olarak çıktı. – razz0

+1

Yukarıdakileri denedim ve benim için de işe yaradı ama sorun ihlallerdeki bağlantıların çalışmadığı. – parthiban

+0

'Yapı sonrası eylem' bölümünde 'İhlalleri Rapor Et' göremiyorum. Bir eklentiyi kaçırıyor muyum? (Ben zaten Cobertura yüklü var). – Will

0

Bu çok eski bir soru bkz ama bu bir cevap bulmak için sıkıntı kendimi bir sürü vardı.

bir sürü araştırma Ben Jenkins İhlalleri eklenti işinizi görecektir her satırdan önce ./ hoşuna, yani sadece pep8 çıktısını (o da flake8 için geçerlidir) ayrıştırma etmediğini tespit ettikten sonra:

pep8 . | 's|^./||' | tee pep.txt

orada önemli bit etkin bir şekilde onları

çıkarmadan tee bit Jenkins ise durdurma önlemek için bazı geçici çözüm olduğunu '' için dize (^) başında ./ tekrarlarını değiştirir sed pep8 komutunun çıkışı sıfırdan farklıdır.

İlgili konular