miten hallita Jenkinsiä Slackista

Anton Smirnov
Aug 23, 2020 * 6 min Lue

Testiautomaatio ei ole vain sovelluksen automatisointia. Sanoisin, että jo testitulosten jakaminen ohjelmallisesti tiimin kanssa on osa Testiautomaatiota. Joukkue ei siis ole riippuvainen kenestäkään yksilöstä saadakseen tuloksia. Tiimi voi myös ryhtyä jatkotoimiin testitulosten perusteella viipymättä.

tässä artikkelissa pohditaan, miten Slack-testituloksia voi jakaa. Myös miten voit käynnistää automaattisen testisarjan suorittamisen Jenkins/CI-työkalussasi.

Slack

käytämme Slackia organisaatiossamme. Saatat myös käyttää Slackia tiedon välittämiseen organisaatiosi tiimin jäsenten kesken. Slack on loistava työkalu ja se pitää kaikki ajan tasalla ja vähentää tarpeettomia sähköposteja.

Slack on yhteistyön solmukohta työnteolle riippumatta siitä, mitä työtä tekee. Siellä käydään keskusteluja, tehdään päätöksiä ja tieto on aina käden ulottuvilla. Slackin avulla tiimisi on paremmin yhteydessä toisiinsa.
voit käyttää tätä sovellusta On-off.site

Slack-Jenkins CI App-Integration

oletan, että useimmat meistä käyttävät Jenkinsiä jatkuvaan automaattiseen testaukseen. Joten tässä artikkelissa, olen antanut vaiheet integroida Jenkins ja Slack. Jos käytät muita työkaluja, kuten TeamCity, Bamboo, jne, prosessi on edelleen lähes sama.

Slack:

  • mene https://slack.com
  • Selaa ”Jenkins” – sovellusta
  • Asenna Jenkins CI-sovellus löysään
  • klikkaa ”Lisää Asetukset’

  • tee merkintä team domainista ja Tokenista
  • valitse kanava, jossa haluamme esittää tulokset

Jenkins

  • Go to Manage Jenkins – > Manage Plugins – > Available Tab
  • Install Slack Notification Plugin
  • Update Slack domain and token => Manage Jenkins – > Configure System – > Global Slack Notifier Settings

  • klikkaa ’Test Connection’ — sinun pitäisi nähdä’ menestys ’ viesti Jenkins ja alla viestin slack kanava.

Jenkins-Test Job

  • Create a Jenkins job for Test
  • Update the post-build actions as shown here-with the custom message you want

Jenkins PipeLine

you need to add a call to the plugin

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

Next, we need to determine the right color and information text of the message:

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

Yhteenveto

osana jatkuvaa testausta suoritamme automaattiset skriptit Jenkinsin avulla määräajoin. Vain sinä testainsinöörinä tunnet tulokset. Muut tiimin jäsenet eivät välttämättä ole tietoisia testituloksista. Automatisoitujen työkalujen avulla voimme luoda automatisoituja skriptejä, ja Slack API: n avulla voimme jakaa tulokset ohjelmallisesti.

Uuden käyttäjän luominen

aloitetaan luomalla Jenkinsiin uusi käyttäjä Slackin käyttöön. Tee muistiin API token.

oletus on, että tällä löysällä käyttäjällä on riittävästi mahdollisuuksia käynnistää työ.

suorita alla oleva CURL-komento varmistaaksesi, voiko käyttäjä vedota tehtävään.

tämä on URL-osoitteen muoto. Korvaa sisältö asianmukaisilla tiedoilla.

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

minun tapauksessani yritin kuten tässä on esitetty.

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

Slack-Slash-komento

edellä mainittuun Jenkinsin tehtävään vedoten käyttäisimme Slackin slash-komentoja. Joten aina kun kirjoitat jotain kauttaviivan jälkeen-ex: ’/smoketests ’ – Slack käsittelee sitä komentona ja voi vastata komentoon. Niin, että esimerkiksi, Slack voidaan konfiguroida antamaan sääraportin oman kaupungin.

edellä mainittuun Jenkinsin työhön vedoten käyttäisimme Slackin slash-komentoja. Joten aina kun kirjoitat jotain kauttaviivan jälkeen-ex: ’/smoketests ’ – Slack käsittelee sitä komentona ja voi vastata komentoon. Niin, että esimerkiksi, Slack voidaan konfiguroida antamaan sääraportin oman kaupungin.

  • Siirry Slack-asetuksiin ja lisää Slash-asetukset.
  • aion luoda savutestikomennon — jotta tiimini voi laukaista slackista savutestin sovelluksen kunnon tarkistamiseksi.

  • lisää integrointiasetus kuten tässä. Anna URL, johon meidän täytyy soittaa käynnistääksemme Jenkinsin työn.

  • Valitse Automaattinen täydennysohje

  • kun kokoonpano on valmis, voit tarkistaa välittömästi teidän löysällä. Kirjoita vain ’/S ’- voit nähdä’ smoketest ’ – komennon

  • Käske tarkistaa, pystyykö Jenkins laukaisemaan tehtävän.

  • jos työ vaatii parametrin, käytä alla olevaa URL-muotoa vedotaksesi työhön Oletusparametreilla.
curl -X POST http://@/job//buildWithParameters
  • jos sinun on läpäistävä jokin tietty parametri, liitä muuttuja ja arvo parametriin.
curl -X POST http://@/job//buildWithParameters?ENVIRONMENT=UAT
  • jos haluat saada työn tilan/tuloksen, työ on määritettävä lähettämään tulokset takaisin Slackiin. Voit katsoa artikkelin siitä täältä.

Note

  • jotta edellä mainittu lähestymistapa toimisi, Jenkinsin palvelimelle pitäisi olla Slack-yhteys. Varmista, että palomuuri ei estä sitä.

Yhteenveto

Slack-komennot ovat erittäin hyödyllisiä ja ne ovat käteviä saamaan tietoa tai laukaisemaan jotain, mitä saatat tehdä usein. Tekemällä tämän, kuka tahansa ei-tekninen käyttäjä tiimissä voi saada sinut käyttämään automaattisia testiskriptejä soittamalla suoraan slash-komentoon.

Vastaa

Sähköpostiosoitettasi ei julkaista.