Deployér
Denne funktion bruges til at deployere (dele af) konfigurationen
fra ét TOPICA-miljø til et eller flere andre miljøer.
Dvs. kopiere filer fra den aktuelle konfigurationsfolder,
til tilsvarende konfigurationsfoldere i andre TOPICA-miljøer.
Det kan f.eks. være:
-
.config-filer - såsom Application.config.
-
Formular-definitionsfiler.
-
Struktur-filen (Structure.xml).
-
Rapport-definitions-filer.
-
Stylesheets med hvad dertil hører (billeder mm.).
-
"Plug-ins" i den aktuelle konfiguration (.dll-filer i bin-folderen).
Man kan deployere til
-
En anden konfiguration i samme instans af rammesystemet.
-
En konfiguration i en anden instans af rammesystemet på samme server.
-
En konfiguration i en instans af rammesystemet på en anden server.
Følgende betingelser skal være opfyldt:
-
Begge de to miljøer, der er involveret i en deployering
(kilde- og destinations-miljø)
skal understøtte deployering
- dvs. rammesystemet skal være version 4.12 eller nyere.
-
Miljøet der deployeres FRA skal køre på en database med datamodel-version 4.12
(som indeholder en tabel til at opbevare listen af miljøer, der deployeres TIL).
Miljøet der deployeres TIL behøver derimod ikke køre på datamodel-version 4.12.
-
Det miljø der deployeres FRA skal have adgang til de miljøer der deployeres TIL via HTTP-protokollen.
Det er ikke nødvendigt at bruge FTP eller "remote desktop".
Start af deployering
Man kan pt. komme ind i funktionen på følgende måder:
-
Fra hovedmenupunket Konfiguration / Deployér.
I dette tilfælde deployeres HELE konfigurationsfolderen
(se ovenstående liste).
Dog er der visse filer og foldere, der IKKE deployeres:
-
Filen Server.config
-
Filen .checkoutstatus
-
Folderen News
-
Folderen PerformanceLog
-
Folderen Temp
Det er konfigurerbart, hvilke filer og foldere, der på denne måde undtages fra deployering.
-
Når man klikker på en folder i rapport-oversigten
(venstre side),
vises en liste af rapporter i højresiden.
-
Øverst i højresiden af rapport-listen er bl.a. en knap "Deployér alt",
som deployerer den aktuelle folder med indhold (altså inkl. underfoldere).
Når man på denne måde deployerer en underfolder til konfigurationen,
bliver ALLE filer i foldenren (inkl. underfoldere) deployeret (uden undtagelser).
-
Klik på hyperlink "Deployer" ud for hver enkelt fil giver
mulighed for at deployere én fil (f.eks. en rapport-definition) ad gangen.
-
IKKE IMPLEMENTERET ENDNU:
Det ville være logisk at kunne starte deployering fra formular-editoren,
sådan at man f.eks. kan deployere formularer Forms-folderen uden at deployere andet
- evt. sammen med strukturfilen.
Miljøer
Et typisk scenarie er, at man (til en given applikation)
udvikler og tester konfigurationen i ét bestemt miljø (= et udviklingsmiljø),
og deployerer til et antal andre miljøer (test-, uddannelses- og produktions-miljøer).
Man kan også gøre det i flere trin.
F.eks. først deployere fra udviklings-miljø til test-miljø -
og derefter (efter en successfuld test) deployere fra test-miljø til
uddannelses- og produktions-miljøer.
Deployerings-funktionen er lavet sådan, at man kan deployere til mange miljøer på én gang.
Man kan (f.eks. i udviklingsmiljøet) opbygge en liste af de miljøer,
man har brug for at deployere til.
Til hvert miljø indtaster man de data, der skal til for at kunne deployere til det
pågældende miljø.
Når man så ønsker at deployere, skal man bare vælge miljøer
(ved at sætte et flueben i en checkbox ud for hvert miljø)
og trykke på knappen "Deployer til valgte miljøer".
Kolonner i miljø-tabellen:
| Kolonne |
Beskrivelse |
| Kommandoer |
For allerede oprettede miljøer vises "Rédiger" og "Slet"-knapper.
Nederste række i tabellen indeholder en "Opret"-knap, som opretter et nyt miljø
(man skal have udfyldt indtastningsfelterne til højre for knappen).
|
| Vælg |
Checkbox - sæt flueben for at deployere til det pågældende miljø |
| Navn |
Unik identifikation af miljø |
| Beskrivelse |
Yderligere valgfri beskrivelse |
| Rammesystem URL |
URL til rammesystems-instansen, der deployeres til - husk at starte med protokolnavn, typisk "http://" |
| Konfigurationsnavn |
Navn på konfigurations-folderen i den rammesystems-instans, der deployeres til |
| Domæne |
Domæne til login i det miljø, der deployeres til |
| Brugernavn |
Brugernavn til login i det miljø, der deployeres til |
| Adgangskode |
Adgangskode til login i det miljø, der deployeres til |
| Login |
Hyperlink til at logge ind i det pågældende miljø -
kan bruges til at teste at de indtastede værdier for domæne, brugernavn og adgangskode er korrekte
|
Deployering af folder
Deployering en hel folder med indhold sker vha. Zip-filer.
Øverst på siden er en knap til at teste generingen af Zip-filen ud fra den aktuelle folder.
Ved tryk på denne knap genereres en Zip-fil (men der sker ikke nogen deployering).
Nederst på siden vises dels et link til den genererede Zip-fil
(klik på dette link gør det muligt at åbne eller downloade Zip-filen).
Desuden vises en liste over indholdet (filnavnene) i Zip-filen.
Denne funktion kan bruges til at inspicere konfigurationen i det aktuelle miljø.
Deployering af en folder foregår på følgende måde:
-
Brugeren vælger hvilke(t) miljø(er) der skal deployeres til ved at sætte flueben
i miljø-listen - og trykker på knappen "Deployér folder til valgte miljøer".
-
Indholdet af folderen (med all underfoldere, rekursivt)
- evt. med visse undtagelser som beskrevet ovenfor -
pakkes sammen til én Zip-fil.
-
Zip-filen konverteres til en streng (Base64-encoding).
-
For hvert af de valgte miljer:
-
Base64-strengen bruges som parameter til et websevice-kald
til det valgte miljø.
-
I det modtagende miljø konverteres tekststrengen i Base64-encoding
tilbage til en Zip-fil.
Derefter pakkes denne Zip-fil ud.
Evt. eksisterende filer i det modtagende miljø overskrives
- også selvom der måtte være sat read-only flag på dem.
Resultatet af denne process er, at den valgte folderstruktur kopieres fra kildemiljøet til hvert af
destinationsmiljøerne.
Bemærk at filer/foldere, der findes i destinationsmiljøerne,
men ikke er med i det der deployeres, ikke berøres -
sådanne filer/foldere vil stadig findes efter deployering.
IKKE IMPLEMENTERET ENDNU:
Hvis man ønsker at slette filer fra konfigurationerne i destinationsmiljøerne,
skal man sætte flueben i checkbox'en "Synkronisér".
Denne funktion vil slette filer og underfoldere i destinationsmiljøerne,
hvis de tilsvarende filer og underfoldere ikke findes i kildemiljøet
- resultatet er at miljøerne bliver synkroniserede.
Ved deployering af hele konfigurationsfolderen, er der visse underfoldere / filer,
som IKKE skal deployeres.
De foldere / filer, der undtages fra deployering, kan specificeres i .config-filerne
vha. flg. nøgler (med tilhørende default-værdier):
| Nøgle |
Default-værdi |
Beskrivelse |
| Deployment.Except.Folders |
News, PerformanceLog, Temp |
De topniveau-foldere, der IKKE skal deployeres. |
| Deployment.Except.Files |
Server.config, vssver.scc, .checkedOutStatus |
De filnavne, der IKKE skal deployeres (uanset hvilken folder, de ligger i). |
| Deployment.Filetypes.Text |
.xml, .htm, .html, .txt, .config, .inc, .asp, .aspx, .js |
De extensions, der garanteres at være tekstfiler,
og som derfor kan deployeres som u-encodede tekststrenge.
Filer med andre extensions bliver Base64-encodede under deployering.
Alle filer kan deployeres med Base64-encoding, men det er mere effektivt
at deployere som u-encodede tekst-strenge.
|
Som konfiguratør skal man ændre på disse parametre,
hvis éns konfiguration burger / genererer folder eller filer, der ikke skal deployeres.
Deployering af en enkelt fil
Deployering en enkelt fil forløber på denne måde:
-
Brugeren vælger hvilke(t) miljø(er) der skal deployeres til ved at sætte flueben
i miljø-listen - og trykker på knappen "Deployér folder til valgte miljøer".
-
Filtypen (extension) afgør, om systemet opfatter filen som tekst eller binær.
Det kan konfigures hvilke extensions der opfattes som tekstfiler - alle andres opfattes som binære.
-
For tekstfiler læses indholdet af den valgte fil ind i en streng.
-
For binære filer oversættes indholdet til en Base64-encoded streng.
-
For hvert af de valgte miljer:
-
For tekstfiler deployeres vha. en webservice, der deployerer tekstfiler.
-
For binære filer deployeres vha. en anden webservice,
der konverterer den Base64-encodede streng tilbage til en binær fil.
Output og fejlhåndtering
Nederst på siden udskrives en information over hvert trin i processen.
Dette kan bruges til at se evt. fejl.
Bemærk at listen BÅDE indeholder information vedr. det miljø, der deployeres FRA,
OG informationer fra hvert af de miljøer, der deployeres TIL.
Typiske fejl:
-
URL til rammesystemet i et modtagende system har forkert format.
Ret URL'en.
-
Der kan ikke logges ind på et modtagende system.
Ret URL, konfigurationsnavn, domæne, brugernavn og/eller adgangskode.
Det er altid en god ide at teste login når man sætter destinationsmiljøer op
- før man deployerer første gang.
-
Der opstår "access denied" fejl ved overskrivning af
filer i det modtagende miljø.
Dette skyldes som regel, at den bruger, som Webserveren kører under
(ASPNET eller NETWORK SERVICE) ikke har skriverettigheder til den pågældende fil.
Det kommer sig af, at man typisk har oprettet denne fil "manuelt" ved at logge ind på serveren
og lavet en "manuel" deployering.
Filer der oprettes af deployeringsfunktionen, har ikke dette problem,
da sådanne filer i sagens natur bliver oprettet af den rigtige bruger (ASPNET eller NETWORK SERVICE).
Sådanne rettighedsproblemer kan kun løses ved at logge på serveren der kører det modtagende miljø
og ændre filsystem-rettighederne i Windows Explorer.
TOPICA's deployeringsfunktion kan ikke ændre rettighederne.
Logning
Logning af deployering sker på 2 niveauer:
-
IKKE IMPLEMENTERET ENDNU:
Der oprettes en record i transaktion-loggen for hver deployering -
én record i det miljø der deployeres FRA, og én record i hvert af de miljøer der deployeres TIL.
-
Alle filer der deployeres v.hja. Zip-filer, gemmes i Temp/Deploy-folderen i de berørte konfigurationsfoldere.
Hvis der deployers én folder (med underfoldere) fra ét kildemiljø til N destinationsmiljøer,
bliver den tilsvarende Zip-fil gemt såvel i Temp/Deploy i kildemiljøet såvel som i hvert af
de N destinationsmiljøer.
På den måde gemmes der oplysninger om deployereringer (med denne mekanisme),
indtil Temp-folderen evt. slettes.
Bemærk:
-
Dette gælder KUN for deployering af Zip-filer.
Dvs. at når man deployere enkelte tekstfiler, gemmes der ikke kopier i Temp/Deploy.
-
"Manuelle" deployeringer vha. kopiering af filer (f.eks. med FTP)
gemmes ikke automatisk i Temp/Deploy.
Oversigt