Executant Salesforce CLI (sfdx) a la pipeline de Buildkite

Descobreix com executar Salesforce CLI sfdx a Buildkite per a CI/CD de Salesforce: scratch org, proves, seguretat, paquets beta i release, amb prompts i blocs per a revisió humana.

sábado, 16 de agosto de 2025 • 4 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

Executar Salesforce CLI sfdx a la pipeline de Buildkite traduït i adaptat per a equips moderns de desenvolupament

Salesforce té un ecosistema propi per empaquetar i desplegar mitjançant Salesforce CLI sfdx i el seu model de paquets. A diferència d'aplicacions web tradicionals, l'automatització total encara presenta passos manuals, però amb eines com Buildkite es pot apropar molt a un flux de treball d'un o dos clics integrant prompts o blocs entre passos per a revisió humana quan calgui.

Resum del flux d'integració contínua CI a Buildkite per a Salesforce

Cada canvi a branques git master o feature dispara la pipeline i executa passos en seqüència: (1) instal·lar el paquet npm @salesforce/cli o usar la imatge docker oficial segons l'estratègia de l'equip; (2) crear un scratch org temporal per executar proves unitàries; (3) executar proves unitàries i anàlisi de seguretat com snyk i informes de cobertura amb Codecov; (4) si la branca és master, desplegar el paquet al scratch org; (5) eliminar el scratch org. Per als comandaments sensibles es recomana xifrar claus i desxifrar-les en temps d'execució amb openssl o gestionar-les mitjançant variables d'entorn segures a Buildkite.

Bones pràctiques en CI

Usar contenidors o el paquet npm segons la coherència amb altres pipelines de l'equip; mantenir variables d'entorn i tokens al sistema de secrets de Buildkite; executar tests de seguretat i qualitat com a part obligatòria de la pipeline; pujar artefactes útils com un sfdx-project.json actualitzat per facilitar recuperació davant fallades; i dissenyar passos bloquejables per permetre revisions abans de crear paquets beta o de llançament.

Flux de desplegament continu CD per a gestió de paquets

L'objectiu és automatitzar la creació i publicació de paquets beta i release, mantenint control humà en punts clau. Flux típic: (1) en el merge de feature a master se sol·licita mitjançant prompt quins components empaquetar i les versions MAJOR.MINOR.PATCH; (2) actualitzar sfdx-project.json segons les decisions i crear paquets beta; (3) crear scratch orgs per validar la instal·lació dels betas; (4) instal·lar paquets beta i executar proves end to end o smoke tests; (5) pujar sfdx-project.json actualitzat com a artefacte; (6) obrir release branch i pull request per a revisió; (7) quan s'etiqueta un commit, sol·licitar quins paquets promoure a release; (8) promoure versions i automatitzar instal·lació en orgs d'automatització i, opcionalment, en UAT, amb execució de proves e2e abans de producció.

Consideracions sobre dependències de paquets

En crear paquets omni channel o test drive, per defecte les dependències no s'actualitzen automàticament. Cal permetre triar si actualitzar dependències o deixar que el nou core package esdevingui dependència. En actualitzar únicament el core package no s'han de sobreescriure dependències d'omni channel o test drive llevat que l'equip ho autoritzi explícitament.

Ús de Buildkite amb prompts i blocs

Buildkite permet inserir passos interactius entre tasques no automatitzables. Aprofita aquests blocs per demanar selecció de components, confirmar versions i aprovar desplegaments a entorns de prova. Això manté seguretat i control sense trencar el flux DevOps.

Recomanacions tècniques

Automatitza la gestió de claus i tokens amb el gestor de secrets del CI, valida sempre en scratch orgs abans de promoure paquets, integra proves de seguretat i coverage en cada build, i puja artefactes que permetin reproduir estats previs. Considera implementar rollback automatitzat en cas d'errors crítics en instal·lar paquets.

Per què triar npm package davant de docker image

La imatge docker oficial és convenient i estandarditzada, però el paquet npm pot integrar-se millor si la teva organització ja estandarditza pipelines amb npm i node, fent més simple la gestió de versions i dependències del CLI dins dels teus builds.

Sobre Q2BSTUDIO

Q2BSTUDIO és una empresa de desenvolupament de programari especialitzada en aplicacions a mida i programari a mida per a empreses que requereixen solucions personalitzades i innovadores. Som experts en intel·ligència artificial i ia per a empreses, desenvolupant agents IA i solucions d'automatització que s'integren amb processos de negoci. També oferim serveis de ciberseguretat per protegir aplicacions i dades, i serveis cloud aws i azure per desplegar amb escala i seguretat. A més implementem serveis intel·ligència de negoci i solucions amb power bi per convertir dades en decisions accionables.

Serveis destacats de Q2BSTUDIO

Desenvolupament d'aplicacions a mida, programari a mida, consultoria en intel·ligència artificial i ia per a empreses, disseny i implementació d'agents IA, auditories i hardening de ciberseguretat, migracions i desplegaments en serveis cloud aws i azure, integració de solucions d'intel·ligència de negoci i dashboards amb power bi.

Com Q2BSTUDIO pot ajudar en pipelines Salesforce

El nostre equip pot dissenyar i implementar pipelines Buildkite per a Salesforce que integrin sfdx, tests automatitzats, anàlisi de seguretat, gestió de paquets i desplegaments controlats, adaptant prompts i blocs per complir governança. També oferim integració amb serveis cloud aws i azure, i suport per millorar l'observabilitat i resiliència del procés de CI CD.

Conclusió i propers passos

Executar Salesforce CLI sfdx dins d'una pipeline Buildkite permet apropar Salesforce a pràctiques DevOps modernes, encara que amb àrees que requereixen intervenció humana. Amb disciplina en proves, gestió de dependències i ús de prompts controlats s'aconsegueix un flux eficient. Si busques optimitzar les teves pipelines Salesforce o desenvolupar solucions a mida amb intel·ligència artificial, ciberseguretat i serveis cloud aws i azure, contacta amb Q2BSTUDIO per a una consultoria personalitzada i portar els teus desplegaments al següent nivell

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.