hogyan kell kezelni Jenkins-t a Slack-től

Anton Szmirnov
Aug 23, 2020 * 6 perc olvasás

A Tesztautomatizálás nem csak az alkalmazás automatizálását jelenti. Azt mondanám, hogy még a teszt eredményeinek programozott megosztása a csapattal is része a Tesztautomatizálásnak. Tehát a csapat nem függ az egyéntől, hogy megkapja az eredményeket. A csapat késedelem nélkül további lépéseket is tehet a teszt eredményei alapján.

ebben a cikkben megnézzük, hogyan oszthatjuk meg a teszt eredményeit a Slack-ben. Azt is, hogyan lehet kiváltani egy automatizált teszt suite végrehajtását a Jenkins / CI eszköz.

Slack

a Slack-et a szervezetünkben használjuk. Lehet, hogy a Slack-et is használja az információk közlésére az org csapattagjai között. A Slack egy nagyszerű eszköz, amely mindenkit naprakészen tart, és csökkenti a felesleges e-maileket.

a Slack egy Együttműködési Központ a munkához, függetlenül attól, hogy milyen munkát végez. Ez egy olyan hely, ahol beszélgetések történnek, döntések születnek, és az információ mindig kéznél van. A Slack segítségével a csapata jobban kapcsolódik.
akkor használja ezt az alkalmazást on-off.oldal

Slack-Jenkins CI App-integráció

feltételezem, hogy a legtöbben a Jenkins-t használják a folyamatos automatizált teszteléshez. Tehát ebben a cikkben megadtam a Jenkins és a Slack integrálásának lépéseit. Ha más eszközöket használ, mint például a TeamCity, a Bamboo stb., A folyamat továbbra is majdnem ugyanaz lesz.

Laza:

  • ugrás a https://slack.com
  • Tallózás a ‘Jenkins’ alkalmazás
  • telepítse a Jenkins CI alkalmazást a slack – be
  • kattintson a ‘konfiguráció hozzáadása’

  • jegyezze fel a csapat domainjét és tokenjét
  • válassza ki azt a csatornát, ahol az eredményeket fel akarjuk tüntetni

Jenkins

  • menj a Jenkins kezelése – > pluginek kezelése – > elérhető lap
  • telepítse a Slack-et Notification Plugin
  • a Slack domain és a token frissítése => Jenkins kezelése – > rendszer konfigurálása – > globális Slack Notifier Beállítások

  • kattintson a ‘ kapcsolat tesztelése ‘gombra — a jenkinsben a’ siker ‘ üzenetet, a slack csatornában pedig az alábbi üzenetet kell látnia.

Jenkins-teszt feladat

  • hozzon létre egy Jenkins feladatot a teszthez
  • frissítse a build utáni műveleteket az itt látható módon — a kívánt egyéni üzenettel

Jenkins PipeLine

hozzá kell adnia egy hívást a pluginhoz

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

ezután meg kell határoznunk az üzenet helyes színét és információs szövegét:

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)
}
}

Összegzés

a Folyamatos Tesztelési folyamat részeként rendszeresen futtatjuk az automatizált szkripteket Jenkins segítségével. Csak Ön, mint tesztmérnök, többnyire ismeri az eredményeket. Lehet, hogy a csapat többi tagja nem ismeri a teszt eredményeit. Automatizált eszközök segítségével automatizált szkripteket hozhatunk létre, a Slack API használatával pedig programozottan oszthatjuk meg az eredményeket.

Új felhasználó létrehozása

kezdjük azzal, hogy létrehozunk egy új felhasználót a Jenkins-ben a slack használatához. Jegyezze fel az API tokent.

a feltételezés az, hogy ennek a slack felhasználónak elegendő hozzáférése van a feladat elindításához.

hajtsa végre az alábbi CURL parancsot annak ellenőrzésére, hogy a felhasználó képes-e meghívni a feladatot.

ez az URL formátuma. Cserélje ki a tartalmat megfelelő információkkal.

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

az én esetemben megpróbáltam az itt látható módon.

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

Slack — Slash parancs

a fenti Jenkins feladat meghívásához a Slack slash parancsait használjuk. Tehát, ha valamit perjel után ír be — például: ‘/smoketests’ – a Slack parancsként kezeli, és válaszolhat a parancsra. Tehát ebben a példában a Slack konfigurálható úgy, hogy időjárási jelentést nyújtson a városához.

a fenti Jenkins feladat meghívásához a Slack perjel parancsait használjuk. Tehát, ha valamit perjel után ír be — például: ‘/smoketests’ – a Slack parancsként kezeli, és válaszolhat a parancsra. Tehát ebben a példában a Slack konfigurálható úgy, hogy időjárási jelentést nyújtson a városához.

  • nyissa meg a Slack konfigurációt a perjel konfiguráció hozzáadásához.
  • létrehozok egy füstvizsgálati parancsot — így a csapatom füstvizsgálatot indíthat a slack-től, hogy ellenőrizze az alkalmazás állapotát.

  • adja hozzá az integrációs beállítást az itt látható módon. Adja meg az URL-t, amelyet fel kell hívnunk a Jenkins-munka elindításához.

  • válassza ki az automatikus teljes súgót

  • a konfiguráció elvégzése után azonnal ellenőrizheti a Slack-et. Csak írja be a ‘/s’ parancsot — láthatja a ‘smoketest’ parancsot

  • hívja meg a parancsot-ellenőrizze, hogy Jenkins képes-e kiváltani a munkát.

  • ha a feladathoz paraméterre van szükség, használja az alábbi URL-formátumot Az alapértelmezett paraméterekkel rendelkező feladat meghívásához.
curl -X POST http://@/job//buildWithParameters
  • ha át kell adnod egy adott paramétert, egyszerűen add hozzá a változót és az értéket a paraméterhez.
curl -X POST http://@/job//buildWithParameters?ENVIRONMENT=UAT
  • a feladat állapotának/eredményének lekéréséhez a feladatot úgy kell konfigurálni, hogy az eredményeket visszaküldje a Slack-be. Itt megnézhet egy cikket erről.

Megjegyzés

  • ahhoz, hogy a fenti megközelítés működjön, a Jenkins szervernek Slack-en keresztül elérhetőnek kell lennie. Győződjön meg arról, hogy a tűzfal nem blokkolja.

Összegzés

a Slack parancsok nagyon hasznosak és hasznosak az információk megszerzéséhez vagy valami olyan indításához, amelyet gyakran végezhet. Ezzel a csapat bármely nem technikai felhasználója felhasználhatja az automatizált teszt szkripteket a perjel parancs közvetlen meghívásával.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.