Sådan opsættes CI & CD til Android-projekter med Jenkins og Gitlab?

Dette er den første del af en række artikler, der giver dig et komplet gennembrud til opsætning af et CI & CD-miljø til dine Android-projekter.

I små projekter kan udviklere udføre opgaver manuelt med hensyn til bygningsprojekter, test og implementering. Når projektet vokser eksponentielt, bliver det en stor hovedpine.

Automatiser mere, så du gør mindre.

Som udvikler er dit mål at automatisere så mange processer som muligt. Arbejd hårdt for at arbejde mindre. I vores tilfælde ved at oprette et CI-system kan du sende opdateringer oftere og med mindre (nul) indsats fra din side.

Så hvad er en kontinuerlig integration?

Kontinuerlig integration (CI) er processen med at automatisere build hver gang et teammedlem begår ændringer til versionskontrol.

Der er masser af kontinuerlige integrationsplatforme, nogle kan du konfigurere på din egen maskine, mens den anden tilbyder skybaseret løsning.

Nu er kontinuerlig integration klar (håber jeg det), vi kan gå til kontinuerlig implementering.

Continuous Deployment (CD) er en strategi til softwareudgivelser, og CI er en byggesten til denne proces.

Hvordan det virker?

  1. Udviklere kontrollerer koden lokalt og forpligter ændringer til depotet.
  2. Repository sender en anmodning (web-hook) til CI-systemet
  3. CI-server kører job, som genererer en build og run tests for at sikre, at din kode fungerer som forventet.
  4. Endelig distribuerer APK-filen til produktion (Google Play Store)

Sådan ser processen nogenlunde ud:

Lyder godt? Fantastisk. Lad os gøre det…

En god opbygningsproces gør alles liv lettere. Som et eksempel vil vi bruge følgende tjenester til vores bygge- og distributionsproces.

Brugte tjenester:

Kildekontrol: GitLab
CI-server: Jenkins
Build distribution: Beta by Fabric

Gitlab + Jenkins + stof Beta = Awesome !!

Til automatiseringsprocessen for en traditionel Android-arbejdsgang bruger vi de ovennævnte tjenester og limer dem sammen. Men inden vi går dertil, er vi nødt til at tage dem en efter en og se, hvad de gør.

GitLab:

GitLab er en git-hostingløsning med et meget stort værktøjssæt. Det er helt gratis for ubegrænsede brugere, ubegrænsede private opbevaringssteder og fuld adgang til de fleste af de fantastiske funktioner, de leverer.

Jenkins:

Jenkins er en open source-automatiseringsserver, mere specifikt en kontinuerlig integrationsserver. Jenkins er den langvarige lineal for CI / CD-pladsen. Det giver hundreder af plugins til støtte for opbygning, implementering og automatisering af ethvert projekt.

Beta fra stof:

Fabric Beta er app-distributionsværktøjet. Distributionsprocessen er meget lettere end andre tjenester. Det giver også et dejligt UI-dashboard til at administrere builds og invitere brugere / testere.

Alt, hvad vi skal gøre, er at tilføje en e-mail-adresse til brugeren på Fabric-kontoen til et projekt, og de vil få en e-mail-meddelelse, hver gang udvikleren opretter en ny build.

Trin til en fantastisk opbygningsproces:

1. Opsætning af Jenkins-server & Gitlab
 2. Android Build-konfiguration & automatisering
 3. Distribuer builds med frigivelsesnotater til testbrugere via Fabric Beta
 4. Automatiseret implementering

Hvad er det næste?

I den næste del af dette indlæg fokuserer vi på Jenkins-serveropsætningen og Gitlab-opsætningen til denne automatiseringsproces.

Nød du historien? Efterlad nogle klapper her på Medium og del det med dine venner. Vil du holde dig opdateret om det nyeste i Android-app-dev? Følg mig på Twitter. Jeg spam ikke dit feed.

Tjek alle de øverste artikler på http://droidmentor.com/