cum să gestionați Jenkins de la Slack

Anton Smirnov
August 23 · 2020 * 6 min citit

automatizarea testelor nu înseamnă doar automatizarea aplicației. Aș spune că chiar și partajarea rezultatelor testelor programatic cu echipa face parte din automatizarea testelor. Deci, echipa nu depinde de niciun individ pentru a obține rezultatele. De asemenea, echipa poate lua măsuri suplimentare pe baza rezultatelor testelor fără întârziere.

în acest articol, vom vedea cum putem împărtăși rezultatele testelor în Slack. De asemenea, cum ați putea declanșa o execuție automată a suitei de testare în instrumentul Jenkins/CI.

Slack

folosim Slack în organizația noastră. De asemenea, este posibil să utilizați Slack pentru a comunica informații între membrii echipei din organizația dvs. Slack este un instrument excelent și îi ține pe toți la curent și reduce e-mailurile inutile.

Slack este un hub de colaborare pentru muncă, indiferent de munca pe care o faceți. Este un loc în care se întâmplă conversații, se iau decizii și informațiile sunt întotdeauna la îndemână. Cu Slack, echipa ta este mai bine conectată.
puteți utiliza această aplicație on-off.site-ul

Slack — Jenkins CI App — integrare

presupun că cei mai mulți dintre noi folosesc Jenkins pentru testarea automată continuă. Deci, în acest articol, am oferit pașii pentru a integra Jenkins și Slack. Dacă utilizați alte instrumente, cum ar fi TeamCity, bambus, etc, procesul va fi în continuare aproape la fel.

Slack:

  • mergeți la https://slack.com
  • căutați aplicația ‘Jenkins’
  • instalați aplicația Jenkins CI în slack
  • Faceți clic pe ‘Adăugați configurația’

  • notați domeniul echipei și tokenul
  • selectați canalul în care dorim să prezentăm rezultatele

Jenkins

  • du-te pentru a gestiona Jenkins – > gestiona plugin-uri – > fila disponibile
  • instalați Slack Plugin de notificare
  • actualizați domeniul Slack și token => gestionați Jenkins – > Configurați sistemul- > Setări globale Slack Notifier

  • Faceți clic pe’ Test Connection ‘— ar trebui să vedeți mesajul’ success ‘ în Jenkins și mesajul de mai jos în canalul slack.

Jenkins-test Job

  • creați un job Jenkins pentru Test
  • actualizați acțiunile post-build așa cum se arată aici — cu mesajul personalizat dorit

Jenkins PipeLine

trebuie să adăugați un apel la plugin-ul

slackSend color: 'good', message: 'Message from Jenkins Pipeline'

apoi, avem nevoie pentru a determina culoarea corectă și informații textul mesajului:

def notifySlack(String buildStatus = 'STARTED') {
// Build status of null means success.
buildStatus = buildStatus ?: 'SUCCESS'
def color
if (buildStatus == 'STARTED') {
color = '#D4DADF'
} else if (buildStatus == 'SUCCESS') {
color = '#BDFFC3'
} else if (buildStatus == 'UNSTABLE') {
color = '#FFFE89'
} else {
color = '#FF9FA1'
}
def msg = "${buildStatus}: `${env.JOB_NAME}` #${env.BUILD_NUMBER}:\n${env.BUILD_URL}"
slackSend(color: color, message: msg)
}
node {
try {
notifySlack()
sh 'runbuild'
} catch (e) {
currentBuild.result = 'FAILURE'
throw e
} finally {
notifySlack(currentBuild.result)
}
}

rezumat

ca parte a procesului de testare continuă, rulăm scripturile automate folosind Jenkins periodic. Doar tu, ca inginer de testare, cunoști mai ales rezultatele. Este posibil ca alți membri ai echipei să nu fie conștienți de rezultatele testului. Folosind instrumente automate, putem crea scripturi automate, iar folosind Slack API putem partaja rezultatele programatic.

crearea unui nou utilizator

să începem prin crearea unui nou utilizator în Jenkins pentru slack de utilizat. Notați tokenul API.

presupunerea este că acest utilizator slab are acces suficient pentru a declanșa lucrarea.

executați comanda CURL de mai jos pentru a verifica dacă utilizatorul poate invoca lucrarea.

acesta este formatul adresei URL. Înlocuiți conținutul din interior cu informații adecvate.

curl -X POST http://@/job//build

în cazul meu, am încercat așa cum se arată aici.

curl -X POST http://slack:[email protected]:8080/job/TEST_SMOCK_SLACK_JOB_DEMO/build

Slack — Slash Command

pentru a invoca lucrarea Jenkins de mai sus, am folosi comenzile Slack slash. Deci, ori de câte ori tastați ceva după un slash — pentru ex: ‘/smoketests’ — Slack îl va trata ca pe o comandă și poate răspunde la comandă. Deci, pentru acest exemplu, Slack poate fi configurat pentru a furniza un raport meteo pentru orașul dvs.

pentru a invoca lucrarea Jenkins de mai sus, am folosi comenzile Slack slash. Deci, ori de câte ori tastați ceva după un slash — pentru ex: ‘/smoketests’ — Slack îl va trata ca pe o comandă și poate răspunde la comandă. Deci, pentru acest exemplu, Slack poate fi configurat pentru a furniza un raport meteo pentru orașul dvs.

  • accesați configurația Slack pentru a adăuga configurația Slash.
  • voi crea o comandă de testare a fumului-astfel încât echipa mea să poată declanșa un test de fum de la slack pentru a verifica starea de sănătate a aplicației.

  • adăugați setarea de integrare așa cum se arată aici. Furnizați adresa URL pe care trebuie să o sunăm pentru a declanșa treaba Jenkins.

  • selectați ajutorul complet automat

  • odată ce configurația este terminată, puteți verifica imediat în Slack. Doar tastați ‘/ s ‘— puteți vedea comanda ‘smoketest’

  • invocați comanda-Verificați dacă Jenkins este capabil să declanșeze lucrarea.

  • dacă jobul necesită un parametru, utilizați formatul URL de mai jos pentru a invoca jobul cu parametrii impliciți.
curl -X POST http://@/job//buildWithParameters
  • dacă aveți nevoie pentru a trece orice parametru specific, pur și simplu adăugați variabila și valoarea în parametrul.
curl -X POST http://@/job//buildWithParameters?ENVIRONMENT=UAT
  • pentru a obține starea/rezultatul lucrării, lucrarea trebuie configurată pentru a posta rezultatele înapoi la Slack. Ai putea verifica un articol despre asta aici.

notă

  • pentru ca abordarea de mai sus să funcționeze, serverul dvs. Asigurați-vă că nu este blocat de firewall.

rezumat

comenzile Slack sunt foarte utile și vin la îndemână pentru a obține informații sau pentru a declanșa ceva ce ați putea face frecvent. Procedând astfel, orice utilizator non-tehnic din echipă vă poate face să utilizați scripturile de testare automate apelând direct comanda slash.

Lasă un răspuns

Adresa ta de email nu va fi publicată.