Kuidas integreerida DangerJS GoCD torujuhtmetesse

Minu praeguses ettevõttes oleme hiljuti üle viinud oma CI infrapuna CircleCI-st GoCD-le. Pärast mõne kuu möödumist uue CI platvormi kasutamisest olin piisavalt mugav, et seda mahla tõsta. Üks asju, mida ma plaanisin, oli DangerJS integreerimine - hämmastav tööriist, mis kiirendab päringutaotluste ülevaatuste tegemist uue koodi konfigureeritavate automaatkontrollide abil. Mida see tähendab? Enam ei kulutata aega PR-kommentaaride kirjutamiseks, näiteks: “Oh, ma usun, et unustasite X… Y… Z…”.

Minu eesmärk selle artikliga on aidata järgmisel inimesel, kes seda ülesannet täidab, parandada oma meeskonna koodikvaliteedi ja avalike suhete ülevaatamise protsesse.

Kontekst

Olen Dangeri jõude juba varem kasutanud (ehkki Rubyga integreeritult) ja juba teadsin, et esialgne seadistamine on üsna lihtne ... kui ainult kasutaksime endiselt CircleCI!

Oma esimesel integreerimiskatsel proovisin googeldada “DangerJSi integreerimine GoCD-ga” õnneta. Pärast DangerJS-i dokumentatsiooni lugemist leidsin ka, et GoCD-ga ei olnud sellist asja, nagu pärismaalane integratsioon, mida saaksin kasutada.

See tähendas, et ma ei saaks Danger'i tšekke oma CI-voogu hõlpsalt integreerida. Seega jäid mulle mõned võimalused:

  1. Proovin panna arendajad kaasama DangerJS-i käskude kohalikke käsitsi käitamisi;
  2. Ehitage spetsiaalne torujuhe (CircleCI / CodeShip / FooBar), et juhtida lihtsalt DangerJS;
  3. Alla andma.

Mulle ei meeldinud kumbki minu valik ja olin paar tundi Danger ja GoCD seadetes veedetud tunni pärast tõeliselt pettunud. Siis komistasin DangerJSi dokumentide jaotisesse „Ohu ja võltsitud olekus olemise kasutamine”. See selleks! Kui ma võin võltsida oma kohaliku masina CI-d, siis mis erineb CI võltsimisest GoCD-masinas?

Pärast oli vaja lihtsalt välja mõelda, kuidas jäljendada sama kohalikku käitumist GoCD infrapunases.

Esimesed sammud

Enne midagi tuleb DangerJSi seadistamiseks ja kasutamiseks ametlik dokumentatsioon läbi vaadata.

Põhimõtteliselt on teil vaja järgmist:

  • Looge fail vaarafile.js. Siin on mõned näited.
  • Ohtlikuks kasutamiseks looge GitHub / BitBucketis robotikonto
  • Muutuste kontrollimiseks avage muudetud failidega PR
  • Käitage DangerJS-i kohapeal PR-lingi (äsja avatud lingi) vastu
  • Proovige võltsida CI-keskkonda oma kohalikus masinas

Järgmises jaotises käsitlen seda viimast sammu põhjalikumalt, kuna DangerJSi GoCD-ga töötamiseks on kriitiline osa.

Võlts CI konfigureerimine GoCD keskkonnas

Esiteks, kui teil pole endiselt eraldatud GoCD-torujuhet, mille abil saaks käivitada ainult Pull Requests koostab, soovitan tungivalt seda teha. Siin on juhend, kui vajate selle seadistamisel abi.

Teiseks looge pärast PR-torujuhtme loomist uus töökoht just ohu jaoks:

Nüüd, et CI-d võltsida, kasutades ohtu, peate määrama hulga keskkonnamuutujaid, näiteks:

eksport DANGER_FAKE_CI = "YEP"
eksportida DANGER_TEST_REPO = "kasutajanimi / reponame"

Navigeerige GoCD menüüs Pipeline Job seade keskkonnamuutujate vahekaardile ja määrake need kaks env muutujat, asendades kasutajanime / nimega kohanimed oma sätetega.

Ma soovitaksin paigutada DANGER_GITHUB_API_TOKEN loodud esimestele DangerJS-i konfigureerimisetappidele jaotises Turvalised muutujad.

Pärast esimest konfiguratsioonipaketti, et Dangeri teste GoCD-s tegelikult käivitada, võite kasutada kesta skripti, mis täidab samu käske, mida kasutatakse CI võltsimiseks kohalikus keskkonnas. Nimetagem seda faili ohtu-build.sh.

# oht-ehitus.sh
kaja '- - OHT JS KONTROLLIMISE ALUSTAMINE -'
echo Katsetamine PR-i kohustuste vastu: $ {GO_SCM_PIPELINE_PR_URL}
DANGER_TEST_PR = $ {GO_SCM_PIPELINE_PR_ID} npx lõnga oht ci
kaja '- - JS KONTROLLIMISE LÕPP - -'

Pange tähele, et vajate sõlme, npm / lõnga, mis on eelnevalt GoCD saadaolevasse masinasse installitud.

Kas märkasite neid kahte GO_SCM muutujat? Need on saak, mis võimaldab teil ohu kinnitusi GoCD-masinas juhtida.

Pöörake erilist tähelepanu muutujale PR_ID, kuna see pakub PR-i viidet, mis laseb Dangeril muudatusi tõlgendada ja seejärel tõmmata päringusse ettepanekuid kirjutada.

Kui teil on uudishimu, genereerisid need keskkonnamuutujad GoCD masinad. Neid saab hinnata käivitades käsu / usr / bin / printenv UNIX ehitamises ja kontrollides väljundit.

Ja see ongi kõik!

Pärast õigete ENV muutujate kaardistamist teie Shelli skriptis hakkavad DangerJS-i kinnitused käima GoCD torujuhtmetes teie praeguse testikomplekti kõrval.

Sammude kokkuvõtmiseks toimige järgmiselt.

1. Seadistage esimesed DangerJS kohalikud failid ja sätted

2. Looge GoCD-s konkreetne torujuhe / töökoht

3. Avastage ja kaardistage siis keskkonnaskripti sees olevad sobivad keskkonnamuutujad, et GoCD saaks käivitada DangerJS

Loodetavasti leidsite läbilõikest abi. Kui teile artikkel on meeldinud, siis palun jagage seda teiste arendajate ja halduritega ning aidake seda sõna levitada.

Küsimuste korral küsige julgelt kommentaaride sektsioonis!

PS: ohul on ka palju pistikprogrammide võimalusi, kontrollige neid!