如何在GitHub添加自定义按钮,实现向Salesforce DEV Org部署代码变更
在GitHub上添加自定义部署按钮至Salesforce DEV Org的方法
要实现点击自定义按钮将Master分支代码部署到Salesforce DEV Org,核心是利用GitHub Actions的手动触发功能,具体步骤如下:
1. 创建GitHub Actions工作流文件
在你的GitHub仓库中,新建路径 .github/workflows/salesforce-deploy.yml,写入以下工作流配置:
name: 部署至Salesforce DEV Org on: workflow_dispatch: branches: [ master ] jobs: deploy: runs-on: ubuntu-latest steps: - name: 拉取Master分支代码 uses: actions/checkout@v4 with: ref: master - name: 安装Salesforce CLI run: | npm install -g sfdx-cli - name: 登录Salesforce DEV Org run: | # 推荐使用JWT认证(更安全) sfdx force:auth:jwt:grant --clientid ${{ secrets.SF_CLIENT_ID }} --jwtkeyfile server.key --username ${{ secrets.SF_USERNAME }} --setdefaultdevhubusername -a DevHub # 若使用密码+安全令牌认证,替换为下方命令 # sfdx force:auth:web:login -d -a DevOrg -r ${{ secrets.SF_SERVERURL }} --username ${{ secrets.SF_USERNAME }} --password ${{ secrets.SF_PASSWORD }} - name: 部署代码至DEV Org run: | sfdx force:source:deploy -p force-app -u ${{ secrets.SF_USERNAME }} -w 10
2. 配置GitHub Secrets
在仓库的「Settings」→「Secrets and variables」→「Actions」页面,添加以下敏感信息:
SF_USERNAME:Salesforce DEV Org的用户名SF_PASSWORD:用户名对应的密码+安全令牌(仅密码认证时需要)SF_CLIENT_ID:Salesforce Connected App的客户端ID(仅JWT认证时需要)SF_SERVERURL:Salesforce实例地址(比如https://login.salesforce.com)- 若用JWT认证,需将私钥文件
server.key存放在仓库根目录
3. 触发部署操作
配置完成后,进入仓库的「Actions」页面,找到你创建的「部署至Salesforce DEV Org」工作流:
- 点击「Run workflow」按钮
- 确认选择
master分支 - 再次点击「Run workflow」即可触发部署流程
关键说明
workflow_dispatch事件是生成自定义按钮的核心,它允许手动触发工作流- 部署命令可根据项目结构调整:比如元数据API格式项目,使用
sfdx force:mdapi:deploy命令 - 优先使用JWT认证,避免明文存储敏感信息
内容的提问来源于stack exchange,提问作者Ted
相关产品推荐
相关产品推荐

