
Andrew Hanna

Andrew Hanna

TL;DR: Een click deploy mislukt zelden door de knop. Hij mislukt omdat de Salesforce Metadata API het pakket weigert, en bijna elke weigering valt in vijf groepen: een ontbrekende afhankelijkheid, te weinig testdekking, een API-versie die het doel niet kent, een platformlimiet op omvang, of een wijziging die de API niet kan doorvoeren. Lees de eerste fout, los de oorzaak op in de bron en valideer opnieuw voordat je deployt.
In welke tool je ook klikt, eronder gebeurt hetzelfde. De tool bouwt een
package.xml-manifest en een .zip van de geselecteerde metadata, stuurt
die naar de Metadata API, en Salesforce compileert het, draait Apex-tests op het
gekozen testniveau en slaat het resultaat op. Ben je nieuw met point-and-click tools,
begin dan met
hoe ClickDeploy werkt en wat het kost.
Twee platformregels verklaren de meeste verrassingen:
Het pakket verwijst naar iets wat de doelorg niet heeft: een veld zonder zijn object, een Flow zonder de velden die hij leest, een child-object zonder zijn parent. Copado Essentials, de tool die vroeger ClickDeploy heette, beschrijft een klassiek geval: alleen een detailobject deployen geeft Cannot set sharingModel to ControlledByParent on a CustomObject without a MasterDetail relationship field. De oplossing is het parent-object aan de deployment toe te voegen, ook als het niet gewijzigd is.
Salesforce vereist dat minstens 75% van je Apex door unittests gedekt is om naar productie te deployen, en elke trigger heeft minstens één gedekte regel nodig. Kies je RunSpecifiedTests, dan verandert de lat: de tests die je noemt moeten elk class en elke trigger in het pakket afzonderlijk voor 75% dekken. De oplossing is betere tests, niet een ander testniveau.
Een fout als Invalid api version verschijnt meestal rond een releasemoment, wanneer je sandbox al de volgende Salesforce-release draait en productie nog niet. Winter '27 is een actueel voorbeeld: sandboxes gingen eind augustus 2026 naar de preview, terwijl productie-instances over meerdere weekenden tot in oktober upgraden, dus controleer je instance op Salesforce Trust. Het advies van Copado is de API-versie van het component terug te zetten naar een versie die productie ondersteunt en opnieuw te deployen.
De eigen deploybibliotheek van Salesforce, source-deploy-retrieve, waarschuwt wanneer een deployment de Metadata API-limieten van 10.000 bestanden en ongeveer 39 MB gezipt nadert. Wildcardselecties en volledige objectdeploys lopen hier het eerst tegenaan. Splits de release, of lever alleen wat veranderd is met delta deployments.
Een groene deploy betekent alleen dat Salesforce het pakket accepteerde. Het betekent niet dat het doel gelijk is aan de bron:
Tekunda is het Salesforce-consultancy- en productbedrijf achter Serpent, het DevOps-platform dat het voor zijn eigen klantdelivery gebruikt. Serpent behoudt het klik-en-selecteer-gevoel, maar elke wijziging gaat via Git, een pull request en een validatie met Apex-tests voordat hij de volgende org bereikt, met AI-codereview op elk abonnement, ook het gratis abonnement. Er wordt niets in je org geïnstalleerd. Teams op Copado Essentials, Gearset, Salto, AutoRABIT, Flosum of Blue Canvas kunnen ons migratiepad volgen, en meer handleidingen staan in de SF Guides-bibliotheek.
Waarom slaagt mijn deployment in een sandbox maar mislukt hij in productie?
Sandboxes draaien standaard geen Apex-tests, terwijl productie lokale tests draait en 75% dekking afdwingt. Valideer eerst tegen productie met hetzelfde testniveau.
Wat betekent "invalid api version"?
Je component gebruikt een API-versie die de doelorg nog niet ondersteunt, meestal tijdens een releasemoment. Verlaag de versie van het component en deploy opnieuw.
Kan ik fouten negeren en toch deployen?
De Salesforce CLI heeft een vlag om fouten te negeren die de rollback overslaat, maar de eigen referentie zegt die nooit in productie te gebruiken.
Hoeveel componenten kan één deployment bevatten?
De Metadata API begrenst een deployment op 10.000 bestanden en ongeveer 39 MB gezipt. Splits grotere releases.
Vrijblijvend.