Zoeken…


Opmerkingen

Het publiceren van een releasetrack is eigenlijk vrij eenvoudig als u begrijpt a) dat de opdracht publish-release een .json-bestand als parameter vereist, en b) hoe dat bestand eruit ziet. Dat is absoluut de grootste hindernis om aan de slag te gaan, want het is vrijwel nergens gedocumenteerd.

Houd er rekening mee dat elk pakket in de release moet worden gepubliceerd en op Atmosphere. Het .meteor / versies-bestand van een app is een bijzonder goede plaats voor het vinden van alle benodigde pakketten en versies die in de release moeten worden opgenomen.

Daarna is het een kwestie van uitzoeken wat je wilt ondersteunen, wat je wilt opnemen, enz. Hier is een gedeeltelijk Venn-diagram van waar de klinische release momenteel aan werkt; en zou u een algemeen idee moeten geven van hoe we omgaan met het besluitvormingsproces van wat wordt opgenomen.

Zie het onderwerp op de Meteor-forums voor meer discussie:
https://forums.meteor.com/t/custom-meteor-release/13736/6

Basisgebruik

Het idee is dat een distro-beheerder zoiets als het volgende commando wil uitvoeren:

meteor publish-release clinical.meteor.rc6.json

Hiermee kunnen gebruikers van de distro dit vervolgens uitvoeren:

meteor run --release clinical:[email protected]

Laat manifest zien

Een releasemanifest is vergelijkbaar met een NPM- package.json bestand, omdat het de eerste zorg is een lijst met Atmosphere-pakketten op te geven en een beetje metagegevens over die lijst met pakketten te bieden. Het basisformaat ziet er zo uit:

{
  "track":"distroname:METEOR",
  "version":"x.y.z",
  "recommended": false,
  "tool": "distroname:[email protected]",
  "description": "Description of the Distro",
  "packages": {
    "accounts-base":"1.2.0",
    "accounts-password":"1.1.1",
    ...
  }
}

De Meteor-tool aanpassen

Als u de meteor-tool of de opdrachtregel wilt uitbreiden, moet u uw eigen meteor-tool-pakket maken en publiceren. De documentatie van Ronen is de beste die er is voor dit proces:

http://practicalmeteor.com/using-meteor-publish-release-to-extend-the-meteor-command-line-tool/1

Het is gemakkelijk om een meteor helloworld-commando aan de praat te krijgen, maar daarna vond ik het gemakkelijker om gewoon een aparte knooppunt-app te maken om commando's te testen. En zo is StarryNight tot stand gekomen. Het is een soort enscenering en kladblok voor opdrachten voordat je ze probeert in een versie van de meteor-tool te plaatsen.

Een releasemanifest extraheren uit .meteor / versies

StarryNight bevat een klein hulpprogramma dat het .meteor/versions bestand van een toepassing parseert en converteert naar een Release Manifest.

npm install -g starrynight
cd myapp
starrynight generate-release-json

Als u niet wilt StarryNight gebruiken, gewoon de inhoud van uw exemplaar .meteor/versions bestand in de packages gebied van uw manifest bestand. Zorg ervoor dat u converteert naar JSON-syntaxis en dubbele punten en aanhalingstekens toevoegt.

Het release-manifest voor een specifieke release weergeven

meteor show --ejson [email protected]

Een release van afrekenen publiceren

meteor publish-release --from-checkout

De nieuwste commits ophalen voor elk pakket in een release

Bij het bouwen van een aangepast releasetrack, is het gebruikelijk om pakketten in de map /packages te bewaren als git submodules. Met de volgende opdracht kunt u alle nieuwste commits voor de submodules in uw /packages directory tegelijkertijd ophalen.

git submodule foreach git pull origin master


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow