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