Automatizarea automată a creării de vrăjitori de instalare a aplicațiilor

Aveți grijă de articole noi din această serie.

Acest conținut face parte din seria: Automatizarea practică

Aveți grijă de articole noi din această serie.

De-a lungul majorității carierelor mele, am fost implicat în toate fazele de dezvoltare a software-ului - nu numai în clarificarea cerințelor, proiectarea, dezvoltarea și testarea, dar și în ceea ce privește implementarea, gestionarea asamblării, documentația și instalarea. În prezent, când metodologia flexibilă de dezvoltare (dezvoltarea agilă) câștigă popularitate, un domeniu de activitate atât de vast este mai degrabă normă. Cu toate acestea, experiența mea de a participa la proiecte Agile sugerează că eficiența implementării și instalării aplicației este uneori văzută ca o sarcină de importanță secundară. Există un pic de ironie în acest sens, deoarece dacă utilizatorii nu pot face cu ușurință aplicația dvs., atunci pur și simplu o veți pierde. Astfel, asigurarea unei modalități ușoare de instalare a aplicațiilor dvs. este vitală pentru atragerea și păstrarea utilizatorilor.







Despre această serie

Deoarece suntem dezvoltatori, sarcina noastră este de a automatiza activitatea utilizatorilor finali. Cu toate acestea, mulți dintre noi nu acordă suficientă atenție automatizării propriilor lor activități. O serie de articole Automatizarea practică este dedicată principiilor practice de automatizare a procesului de dezvoltare și răspunde la întrebări, când și cum să le aplicați.

În timpul carierei mele, am încercat mulți instalatori. Într-un proiect major, pe care echipa mea a început să o lucreze în acest an, au existat câteva cerințe foarte specifice pentru crearea de instalatori corporativi. Am incercat produse precum Antigen, AntInstaller, Denova, install4j, InstallAnywhere, IzPack, NSIS si altele. Ghidat de cerințele pentru produsul nostru, am decis să folosim IzPack din următoarele motive:

  • funcționează pe mai multe platforme. Avem nevoie de suport pentru Windows®, Linux® și Macintosh;
  • IzPack este scris în Java ™, cu care dezvoltatorii noștri au o mulțime de experiență;
  • el poate executa scripturi Apache Ant. Anterior, am petrecut mult timp scriind scripturi Ant pentru a implementa aplicații;
  • IzPack este un produs gratuit.

Descărcarea și instalarea programului IzPack

Documentația IzPack

Unul dintre primele directoare pe care trebuie să le analizăm este doc. Acesta conține documentația în formate HTML, PDF și Javadoc. Acesta poate deveni o sursă constantă de informații cu privire la scrierea scripturilor în IzPack.

Descărcarea și instalarea programului IzPack nu implică probleme. Nu este surprinzător faptul că IzPack se folosește pentru a instala. Accesați site-ul web IzPack și descărcați fișierul Izpar JAR (consultați Resurse).

Pentru a instala IzPack, trebuie să aveți la dispoziție programul Java Runtime Environment (JRE). Deschideți shell-ul și executați comanda java -jar IzPack-install-4.1.0.jar (modificați numărul versiunii, dacă este necesar).

Ca rezultat, expertul va porni și va cere parametrii de bază de instalare, în special, la care director trebuie instalat programul IzPack. După aceea, nu va fi dificil să lansați IzPack-ul în sine.

Editarea de scripturi demo

Livrarea lui IzPack include un set complet de scripturi de instalare demonstrative. Când creați programul de instalare, este mai ușor să utilizați aceste scripturi ca cele de bază. Există mai multe subdirectoare în directorul de instalare IzPack, inclusiv bin, doc și lib. Un exemplu de instalare este localizat în subdirectorul de probă, care conține, de asemenea, aproape tot ceea ce este necesar să vă creați instalatorii. Cel mai bine este să faceți o copie a acestui director astfel încât să poată fi modificată fără teama de a corupe conținutul original, care este prezentat în Figura 1.

Figura 1. Lista fișierelor din directorul eșantion

Automatizarea automată a creării de vrăjitori de instalare a aplicațiilor

Automatizarea automată a creării de vrăjitori de instalare a aplicațiilor

Figura 1 prezintă următoarele fișiere:

  • antActionSpec.xml. utilizând acest fișier, sunt executate script-uri de construcție Ant;
  • install.jar. un fișier JAR de instalare generat în timpul compilării lui IzPack. Acest fișier va fi lansat de utilizatori;
  • install.xml. principalul script de instalare IzPack. Toate resursele utilizate de programul de instalare IzPack încep cu acest script;
  • Licence.txt. fișierul de licență al instalatorului;
  • Readme.txt. un fișier de ajutor pentru instalarea aplicației;
  • userInputSpec.xml. Scriptul XML folosit de IzPack pentru a descrie comportamentul (verificări, valori implicite, dimensiuni de câmp etc.) atunci când utilizatorul introduce valori pe panoul de instalare.

Apoi, vom examina mai detaliat IzPack, intrăm în detaliile scriptului install.xml

Resursele sunt diferite scripturi, imagini, licențe și alte fișiere, din care va fi alcătuit programul de instalare. Scriptul install.xml conține un element . în care puteți descrie fișierele care vor fi apoi utilizate de instalator. Un exemplu este prezentat în listare 1.







Listarea 1. Descrierea fișierelor de resurse în instal.xml

Resursele din IzPack reprezintă o listă de materiale de bază, descriu fiecare fișier care va fi utilizat de viitorul instalator.

Panouri - aceasta este ceea ce utilizatorii vor observa la fiecare pas al expertului de instalare. IzPack oferă multe opțiuni pentru panourile standard, pe care le puteți modifica la discreția dvs. Figura 2 prezintă o versiune modificată a HelloPanel. care afișează informații de intrare pentru utilizatori.

Figura 2. Versiunea modificată a panoului Expert grafic

Automatizarea automată a creării de vrăjitori de instalare a aplicațiilor

Automatizarea automată a creării de vrăjitori de instalare a aplicațiilor

Panourile standard includ LicensePanel. UserInputPanel. PacksPanel și alții. În plus, puteți descrie propriile panouri în fișierul install.xml. În acest scop, elementul . urmat de șabloanele care vor fi folosite în scriptul de instalare. Lista 2 prezintă un exemplu de descriere a unui șablon de panou.

Lista 2. Lista panourilor care vor fi utilizate pentru instalare

Cu un grad ridicat de probabilitate se poate argumenta că cel mai adesea veți folosi panoul UserInputPanel. Este un șablon care poate fi modificat astfel încât utilizatorii să poată introduce orice informații importante, de exemplu, informații de contact, parametri de autentificare, locația directorului etc. În funcție de situație, utilizatorii pot introduce date în mai multe panouri. În cazul nostru, panourile au fost folosite pentru a introduce informații despre conectarea la baza de date și configurarea containerelor JBoss.

Lista 3 arată un exemplu din fișierul userInputSpec.xml, care este una dintre resursele din Lista 1. Acest exemplu descrie un panou pentru colectarea informațiilor despre conectarea la o bază de date.

Listarea 3. Descrierea atributelor panoului de instalare

Valoarea atributului de ordine din acest exemplu este 0. Aceasta corespunde numărului UserInputPanel din setul de panouri din listare 2.

În panouri, puteți defini mesaje de informare pentru utilizatori. În plus, am adăugat o descriere a cecului NotEmptyValidator. care necesită introducerea unei valori ne-goale în acest câmp. În acest fel, puteți preveni erorile de instalare care pot apărea dacă utilizatorul uită să introducă informații obligatorii. Aspectul panoului din lista 3 este prezentat în figura 3.

Figura 3. Panou pentru introducerea informațiilor despre utilizatori

Automatizarea automată a creării de vrăjitori de instalare a aplicațiilor

Automatizarea automată a creării de vrăjitori de instalare a aplicațiilor

Opinia utilizatorilor cu privire la eficacitatea instalatorului poate fi adesea bazată pe cât de ușor vă permite să introduceți date și cât de informative sunt mesajele. În consecință, ar trebui să se aibă grijă ca panourile să fie ușor de operat.

În terminologia lui IzPack, termenul "pachet" înseamnă toate componentele care sunt direct implicate în instalarea programelor dezvoltate. Toate celelalte componente ale programului IzPack sunt panouri, date de utilizator, validatoare etc. - servesc numai pentru pregătirea lansării pachetelor. În proiectul nostru, pachetele au fost utilizate pentru a efectua mai multe acțiuni: descărcați arhiva ZIP care conține distribuția de instalare, scrisă în avans pe Ant și începeți instalarea. Datorită acestei abordări, am reușit să reutilizăm componentele dezvoltate anterior executându-le din linia de comandă. Pachetele sunt descrise prin elemente (Lista 4).

Listarea 4. Element de eșantionare în fișierul install.xml

Fereastra de stare a procesului de instalare este prezentată în Figura 4.

Figura 4. Executarea pachetului

Automatizarea automată a creării de vrăjitori de instalare a aplicațiilor

Automatizarea automată a creării de vrăjitori de instalare a aplicațiilor

Pachetele sunt piesa centrală a lui IzPack. Dacă ați finalizat toți pașii preliminari pentru verificarea introducerii de către utilizator, diagnosticarea și primirea de informații despre mediul înconjurător, rularea pachetelor ar trebui să fie o plimbare ușoară pentru utilizatori.

Scriind scripturi Ant

Echipa noastră a investit mult timp în crearea de instalatori bazați pe distribuții cu ajutorul lui Ant. Desigur, nu am vrut să reimplementăm toate aceste funcții pe IzPack. Din fericire, IzPack susține posibilitatea de a apela scripturi existente Ant. După cum vă amintiți, unul dintre fișierele de resurse enumerate în listare 1 a fost antActionSpec.xml. Fragmentul acestui script este prezentat în listare 5.

Listă 5. Exemplul pachetului care execută scriptul în fișierul antActionSpec.xml

Cel mai interesant lucru despre acest script este locul unde se numește build.xml. Acesta este un script de construcție existent Ant, care efectuează acțiuni de descărcare și dezarhivare a programului de instalare ZIP-arhivă, instalarea și configurarea containerelor Web și alte etape de instalare a aplicației. Astfel, datorită antActionSpec.xml, puteți reutiliza scripturile Ant scrise anterior.

Compilarea instalatorilor

Ultima etapă a implementării instalatorului cu ajutorul lui IzPack este compilarea. După ce ați scris install.xml și toate scripturile necesare, este timpul să generați programul de instalare. Lista 6 prezintă un exemplu de comandă de o singură linie, prin executarea căreia veți genera install.jar (dacă doriți, puteți schimba numele fișierului).

Lista 6. Compilarea programului de instalare

Lista 6 presupune că executați această comandă din subdirectorul bin din directorul de instalare IzPack. Numele eșantionului indică subdirectorul de eșantion care este inclus în pachetul standard IzPack. După ce ați generat programul de instalare, îl puteți testa executând comanda java -jar install.jar în directorul unde este localizat install.jar.

Instalatori pentru toți

În acest articol am vorbit despre lucrul cu diferite componente ale programului IzPack pentru a crea instalatori ușor de folosit. Utilizatorii de programe client, utilizatorii de pe site-uri la distanță, care au nevoie să instaleze și să configureze mai multe servere sau chiar specialiști tehnici care instalează și configurează pachete corporative și aplicații pot lucra cu aceștia. Instalarea ușoară a aplicațiilor dvs. facilitează mult viața utilizatorilor, în special atunci când lucrează cu sisteme care sunt notorii pentru scenariile complexe de instalare a software-ului. Puteți pierde utilizatorii doar din cauza disconfortului lor sau a pierderii încrederii în calitatea aplicației, dacă instalarea acesteia necesită multe acțiuni manuale sau este aproape imposibilă. Astfel, prin simplificarea lucrului cu instalatorii cu instrumente precum IzPack, puteți atrage potențiali noi și salvați clienții existenți.

Descărcați resurse

Subiecte conexe







Trimiteți-le prietenilor: