如何创建Harness流水线将应用部署至AWS EC2实例?
简化版Harness流水线部署JS应用到AWS EC2
核心流程
无需复杂配置,聚焦最关键的部署步骤:拉取代码、SSH连接EC2、部署启动应用。
简化后的流水线YAML
pipeline: name: 简易JS应用EC2部署流水线 identifier: Simple_JS_EC2_Deploy projectIdentifier: 你的项目ID orgIdentifier: 你的组织ID stages: - stage: name: 部署阶段 identifier: Deploy_Stage type: Deployment spec: service: identifier: JS_App_Service spec: artifacts: primary: type: Git spec: connectorRef: 你的GitHub连接器ID repoName: 你的代码仓库名 branch: 主分支名(如main) infrastructure: identifier: EC2_Infra type: SSH spec: connectorRef: 你的SSH连接器ID(已关联PEM密钥) hosts: - hostName: EC2实例公网地址(如ec2-xx-xx-xx-xx.compute-1.amazonaws.com) os: Linux execution: steps: - step: type: SSH name: 初始化应用目录并拉取代码 identifier: Pull_Code spec: command: | mkdir -p /opt/js-app && rm -rf /opt/js-app/* git clone https://github.com/你的用户名/你的仓库名.git /opt/js-app - step: type: SSH name: 安装依赖并启动应用 identifier: Start_App spec: command: | cd /opt/js-app npm install # 若未装pm2,先执行 npm install -g pm2 pm2 restart js-app || pm2 start app.js --name js-app
关键配置要点
- 替换占位符:将YAML中的「你的项目ID」「GitHub连接器ID」等替换为Harness平台内的实际值
- SSH连接器验证:确认SSH连接器已绑定你上传的PEM密钥,且EC2安全组开放22端口给Harness的IP范围
- 进程稳定性:使用
pm2管理应用进程,避免SSH会话断开后应用终止;若EC2未安装pm2,可在启动步骤前添加npm install -g pm2命令 - 代码拉取优化:生产环境建议改用Harness的工件打包传输(如将代码压缩后上传),替代直接git拉取,提升安全性和速度
内容的提问来源于stack exchange,提问作者Igor
相关产品推荐
相关产品推荐

