开源Azure API Management开发者门户Jenkins替代GitHub Actions方案咨询
Azure API Management开源开发者门户:Jenkins替代GitHub Actions方案及无CI/CD运行方式
一、Jenkins替代GitHub Actions的实现方案
1. 核心流程匹配
原GitHub Actions步骤3的核心是代码拉取→依赖安装→生产构建→部署,对应Jenkins流水线可按以下逻辑实现:
- 拉取企业GitHub仓库代码(需配置Jenkins凭证)
- 安装项目依赖
- 构建生产静态包
- 部署到目标托管环境(如Azure存储)
2. Jenkins Declarative流水线示例
pipeline { agent any environment { // 预先在Jenkins凭证管理中配置以下凭证 GITHUB_CRED = credentials('enterprise-github-token') AZURE_SP = credentials('azure-service-principal') BUILD_OUTPUT = 'dist' STORAGE_ACCOUNT = '你的Azure存储账户名' STATIC_CONTAINER = '$web' } stages { stage('拉取代码') { steps { git url: '企业GitHub仓库地址', branch: 'main', credentialsId: 'enterprise-github-token' } } stage('安装依赖') { steps { sh 'npm install' } } stage('构建生产包') { steps { sh 'npm run build' } } stage('部署到Azure存储') { steps { withCredentials([azureServicePrincipal(credentialsId: 'azure-service-principal', clientIdVariable: 'AZ_CLIENT_ID', clientSecretVariable: 'AZ_CLIENT_SECRET', tenantIdVariable: 'AZ_TENANT_ID')]) { sh ''' az login --service-principal -u $AZ_CLIENT_ID -p $AZ_CLIENT_SECRET --tenant $AZ_TENANT_ID az storage blob upload-batch -d $STATIC_CONTAINER -s $BUILD_OUTPUT --account-name $STORAGE_ACCOUNT ''' } } } } post { always { sh 'az logout' } } }
3. 关键配置注意事项
- 确保Jenkins节点已安装Node.js、npm和Azure CLI
- 在Jenkins凭证库中添加:
- 企业GitHub访问Token(用于拉取私有仓库)
- Azure服务主体凭证(用于授权部署到Azure资源)
- 若项目需注入环境变量(如API Management实例信息),可在流水线
environment块中添加对应变量
二、无需CI/CD工具的手动运行/部署方式
1. 本地开发环境运行
- 克隆仓库到本地:
git clone 企业GitHub仓库地址 - 进入项目目录:
cd API-Portal - 安装依赖:
npm install - 启动开发服务器:
npm start,访问本地默认端口(通常为3000)即可预览门户
2. 本地构建后手动部署
- 执行生产构建:
npm run build,生成的静态文件会存放在dist目录 - 手动部署到静态托管服务:
- Azure存储:登录Azure门户,进入目标存储账户的
$web容器,上传dist目录下所有文件 - 或使用本地Azure CLI命令:
az storage blob upload-batch -d $web -s dist --account-name 你的存储账户名
- Azure存储:登录Azure门户,进入目标存储账户的
- 配置API Management实例指向该静态托管地址
内容的提问来源于stack exchange,提问作者Watts
相关产品推荐
相关产品推荐

