BBjShip installeren 26.03
BBjShip draait in BBjServices en is daarom altijd geïnstalleerd op de machine waarop BBjServices draait. Zodra het is geïnstalleerd en het implementatie-eindpunt is ingeschakeld, worden je builds ernaartoe geïmplementeerd via het adres /webforj-bbjship op de BBjServices-webserver, vanaf diezelfde machine of vanaf een andere machine.
Hoe je BBjShip installeert, hangt af van waar BBjServices draait:
| Waar BBjServices draait | Wie BBjShip installeert | Hoe |
|---|---|---|
| Je eigen machine | De webforJ-buildplugin | Automatisch met mvn, of eenmalig met mvn webforj:bbj-setup |
| Een gedeelde of productie-server | Een beheerder van die server | De BBj Plugin Manager, daarna bbjship remote enable |
Installeer in beide gevallen de versie van BBjShip die overeenkomt met de webforJ-versie van je apps. Implementaties mislukken als de versies verschillen.
Op je eigen machine
Wanneer BBj op dezelfde machine draait als je build, hoef je BBjShip niet zelf te installeren. De eerste ontwikkelrun van een project dat is geconfigureerd voor BBjShip, installeert het en schakelt het implementatie-eindpunt in:
mvn
Via de Maven-plugin
Als je wilt implementeren met mvn install voordat je een ontwikkelrun start, installeer BBjShip dan eenmalig vanuit de map van je project:
mvn webforj:bbj-setup
Het doel installeert de BBjShip-versie die overeenkomt met de webforj-maven-plugin en schakelt het implementatie-eindpunt in op de poort van je implementatie-URL. Hiervoor is het volgende nodig:
- BBjServices moet actief zijn en reageren op de poort van de implementatie-URL
- Een implementatie-URL met de naam van je machine, bijvoorbeeld
http://localhost:8888/webforj-bbjship - De gebruikersnaam en het wachtwoord van de BBj-beheerder, uit
<admin>of de eigenschappenwebforj.bbj.admin.*. Als deze ontbreken, gebruikt het doel het fabrieksaccountadminmetadmin123en geeft het een waarschuwing weer. - De installatiemap van BBj, uit
<home>,webforj.bbj.homeofBBJ_HOME. Als deze ontbreken, wordt de map automatisch gedetecteerd.
Vervang na een webforJ-upgrade de geïnstalleerde BBjShip-versie door de nieuwe versie:
mvn webforj:bbj-setup -Dwebforj.bbj.force=true
Je geïmplementeerde apps blijven geïmplementeerd wanneer je het doel opnieuw uitvoert.
Op Windows kan vervanging mislukken terwijl BBjServices de bestanden van de geïnstalleerde BBjShip openhoudt. Start BBjServices opnieuw en voer het doel opnieuw uit. Zie Probleemoplossing.
Op een server
Op een gedeelde of productie-BBj-server installeert een beheerder BBjShip eenmalig op die server. Ontwikkelaars en CI-pipelines implementeren er vervolgens vanaf hun eigen machines naartoe via HTTPS.
- Installeer BBjShip met de BBj Plugin Manager.
- Schakel het implementatie-eindpunt in met de HTTPS-poort van de BBjServices-webserver.
- Maak in Enterprise Manager een autorisatietoken voor de builds die implementeren. Zie Implementeren vanaf een andere machine.
Via de BBj Plugin Manager
Installeer BBjShip in de BBj Plugin Manager vanuit de repository webforj-bbjship van de organisatie BBj-Plugins. Een tag installeert een webforJ-release en master installeert de ontwikkelingssnapshot. Werk de versie later bij via het tabblad Installed.
Het implementatie-eindpunt inschakelen
Het implementatie-eindpunt is het adres waarnaar builds worden geïmplementeerd. Schakel het op de server in met je BBj-beheerdersaccount en de poorten waarop de BBjServices-webserver luistert. --password verwacht het wachtwoord als waarde. Andere gebruikers van de machine kunnen het wachtwoord tijdens de uitvoering van de opdracht zien in de proceslijst. Op macOS en Linux leest --password-stdin het wachtwoord van de standaardinvoer, en met WEBFORJ_BBJ_PASSWORD blijft het op elk systeem buiten de opdrachtregel:
$ <BBj home>/plugins/webforj-bbjship/bbjship remote enable --username admin --password <value> --port 8888 --ssl-port 8443
Enabled http://localhost:8888/webforj-bbjship
Enabled https://localhost:8443/webforj-bbjship
Zonder --port gebruikt het eindpunt poort 8888. Zonder --ssl-port heeft het geen HTTPS-adres. Builds op andere machines implementeren naar het HTTPS-adres. Het eindpunt antwoordt met HTTP 403 op hun verzoeken via HTTP, tenzij --allow-unencrypted is opgegeven. BBjServices moet actief zijn. Zie Opdrachtregel voor alle opdrachten.
Voer op Windows bbjship.cmd uit en geef het wachtwoord op met --password of WEBFORJ_BBJ_PASSWORD. --password-stdin is daar niet beschikbaar en eindigt met exitcode 2.
Verwijderen
Voer eerst bbjship reset uit. Hiermee worden alle apps gedeïmplementeerd en wordt alles verwijderd wat BBjShip in Enterprise Manager heeft ingesteld. Verwijder BBjShip vervolgens via de BBj Plugin Manager.
bbjship reset kan niet ongedaan worden gemaakt. Maak eerst een back-up van <BBj home>/cfg/BBj.properties en bewaar het implementatiearchief van elke app. Zie Resetten.