GitHub CI/CD Automation for Salesforce App
Budget: $50 – $0 USD
As a Salesforce.com ISV partner, we are gearing up for the launch of our new application on the Salesforce AppExchange. To ensure a seamless development and release management process, we are seeking an experienced CI/CD expert. The goal is to set up a scripted and documented GitHub-based CI/CD process, using VScode with Salesforce extensions and GitHub CI/CD, to automate our build and deployment processes. We seek best practices to ensure smooth deliveries and scalability as the number of customers grows and we develop new versions over time.
We prefer an hourly engagement but we'd like an overall estimate of the work. We would also like to have recorded zoom meetings for all work except documentation.
Current development environment:
Our Salesforce app comprises custom objects, metadata and Lightning Flows. We distribute with second-gen managed packages built using VScode with Salesforce extensions. We have set up a basic GitHub source control instance linked to VScode. We have passed security review. Our app has three editions which share a single code base and will use the Salesforce Feature Control System to determine which edition the customer has licensed.
Consultant qualifications or certifications:
• Release management.
• GitHub setup, management, best practices.
• VScode 2nd generation managed package development
• VScode and GitHub automation script writing.
• AppExchange package development
• Familiarity with Salesforce Flow and Apex code development.
Ideal Skills:
- Extensive experience with GitHub CI/CD.
- Strong background in CI/CD best practices.
- Previous experience with Salesforce application development
Deliverables:
1. GitHub Source Code Control & Processes
• Configure GitHub as the primary source control system.
• Establish usage guidelines and set up documentation.
• Define naming conventions for releases.
• Implement a rollback strategy for version control.
2. Documentation & Setup:
• Transfer software management knowledge to another developer.
• Set up and configure the development environment.
• Document project specifications and technical details.
3. Package Creation & Codebase Management
• Review and refine current package creation process.
• Maintain a single codebase while supporting multiple editions.
• Define a strategy for handling client-specific editions.
• As needed, reconfigure Dev Hub, Development Org, and Namespace Org.
• Review existing package versions and metadata for continuity.
4. Scripting CI/CD Implementation for Semantic Versioning (SemVer) Package Releases
• Develop scripts (JavaScript/Bash) for CI/CD automation.
• Automate package creation and release workflows.
• Configure YAML files for GitHub workflows.
• Set up GitHub environment variables and workers.
5. Automation & Metadata Handling
• Implement automation for package.xml where feasible.
6. Project Management & Development Workflow
• Use Trello (or Jira, if not feasible) for project tracking and task management.
• Define Scratch Org usage guidelines for development.
• Establish procedures for handling client-specific requests and updates.
7. Environments & Deployment
• Manage environments for development, testing, releases, and demos.
• Implement best practices for secure and efficient deployments.
We prefer an hourly engagement but we'd like an overall estimate of the work. We would also like to have recorded zoom meetings for all work except documentation.
Current development environment:
Our Salesforce app comprises custom objects, metadata and Lightning Flows. We distribute with second-gen managed packages built using VScode with Salesforce extensions. We have set up a basic GitHub source control instance linked to VScode. We have passed security review. Our app has three editions which share a single code base and will use the Salesforce Feature Control System to determine which edition the customer has licensed.
Consultant qualifications or certifications:
• Release management.
• GitHub setup, management, best practices.
• VScode 2nd generation managed package development
• VScode and GitHub automation script writing.
• AppExchange package development
• Familiarity with Salesforce Flow and Apex code development.
Ideal Skills:
- Extensive experience with GitHub CI/CD.
- Strong background in CI/CD best practices.
- Previous experience with Salesforce application development
Deliverables:
1. GitHub Source Code Control & Processes
• Configure GitHub as the primary source control system.
• Establish usage guidelines and set up documentation.
• Define naming conventions for releases.
• Implement a rollback strategy for version control.
2. Documentation & Setup:
• Transfer software management knowledge to another developer.
• Set up and configure the development environment.
• Document project specifications and technical details.
3. Package Creation & Codebase Management
• Review and refine current package creation process.
• Maintain a single codebase while supporting multiple editions.
• Define a strategy for handling client-specific editions.
• As needed, reconfigure Dev Hub, Development Org, and Namespace Org.
• Review existing package versions and metadata for continuity.
4. Scripting CI/CD Implementation for Semantic Versioning (SemVer) Package Releases
• Develop scripts (JavaScript/Bash) for CI/CD automation.
• Automate package creation and release workflows.
• Configure YAML files for GitHub workflows.
• Set up GitHub environment variables and workers.
5. Automation & Metadata Handling
• Implement automation for package.xml where feasible.
6. Project Management & Development Workflow
• Use Trello (or Jira, if not feasible) for project tracking and task management.
• Define Scratch Org usage guidelines for development.
• Establish procedures for handling client-specific requests and updates.
7. Environments & Deployment
• Manage environments for development, testing, releases, and demos.
• Implement best practices for secure and efficient deployments.