Laborator 8: Implementarea unui pipeline CI/CD pentru aplicația mobilă

Procesul de dezvoltare a unei aplicații de orice tip implică o serie de etape, printre care se numără scrierea codului, compilarea, testarea și lansarea software-ului. În cadrul acestui laborator ne vom propune să automatizăm aceste etape prin implementarea unui pipeline CI/CD specific aplicației mobile realizate în cadrul acestei materii.

Astfel, vom folosi GitHub Actions pentru a defini un pipeline simplu care va compila și rula testele unitare ale aplicației la fiecare push în repository.

Indicații de implementare

Pentru a configura pipeline-ul, vom crea structura de directoare necesară și fișierul de workflow în rădăcina proiectului, astfel:

Pasul 1: Creați directorul pentru workflow-uri:

mkdir -p .github/workflows

Pasul 2: Creați următorul fișier de configurare:

mobile-ci-cd.yml
name: Mobile CI/CD

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]

jobs:
  unit_tests:
    name: Run Unit Tests
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up JDK 17
        uses: actions/setup-java@v4
        with:
          java-version: '17'
          distribution: 'temurin'
          cache: gradle

      - name: Grant execute permission for gradlew
        run: chmod +x gradlew

      - name: Run Unit Tests
        run: ./gradlew test

Principalele elemente ale fișierului de workflow sunt:

  • on: push: Aici se definește când pornește automat pipeline-ul. În acest caz, la fiecare push / pull_request pe branch-ul main;
  • runs-on: ubuntu-latest: specifică mașina virtuală pe care va rula job-ul (un container Linux standard oferit de GitHub);
  • actions/checkout: Acțiune oficială GitHub care clonează repository-ul în mediul de lucru CI;
  • setup-java: Instalează JDK-ul necesar compilării proiectului Android;
  • ./gradlew test: Comanda Gradle care compilează codul și rulează testele unitare (cele care nu necesită dispozitiv Android/emulator).

Pasul 3: Încărcați workflow-ul creat în repository:

git add .github/workflows/mobile-ci-cd.yml
git commit -m "Add Mobile CI/CD workflow for unit tests"
git push

După ce ați terminat de implementat acest workflow, puteți verifica tab-ul Actions din repository-ul vostru de GitHub pentru a vedea pipeline-ul rulând.

Cerință

Într-un mediu real de lucru acest pipeline este incomplet, astfel propunem îmbunătățirea acestuia prin adăugarea de etape suplimentare:

  1. analiza statică a codului înainte de etapa de testare propriu-zisă;
  2. rularea testelor instrumentate;
  3. compilarea aplicației sub formă de APK;
  4. încărcarea APK-ului în GitHub Releases.
ss/laboratoare/08.txt · Last modified: 2026/04/27 18:21 by ciprian.popescu0411
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0