amazon-web-services - CircleCI 部署到 AWS EC2

标签 amazon-web-services amazon-ec2 circleci

你能帮我找到有用的分步指南或 Gist详细介绍如何配置 CircleCI (使用 2.0 语法)部署到 AWS EC2?

我了解基本要求和动件,但不确定在 .circleci/config.yml 中放什么deploy 中的文件步。

到目前为止,我得到了:

  • 一个“ Hello World ”Node.js app在 CircleCI 中成功构建(只是没有部署步骤)
  • 正在运行的 EC2 实例 (Ubuntu 16.04)
  • 为该特定作业添加到 CircleCI 的具有足够权限的 IAM 用户

  • 你能帮忙完成 CircleCI 部署步骤吗?

    最佳答案

    按照您的存储库,您可以像这样创建一个脚本:deploy.sh

    #!/bin/bash
    
    echo "Start deploy"
    cd ~/circleci-aws
    git pull
    npm i
    npm run build 
    pm2 stop build/server
    pm2 start build/server
    echo "Deploy end"
    

    而在您的 .circleci/conf.yml你做吧:
    deploy:
    docker:
      - image: circleci/node:chakracore-8.11.1
    steps:
      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "package.json" }}
      - run:
          name: AWS EC2 deploy
          command: |
            #upload all the code to machine
            scp -r -o StrictHostKeyChecking=no ./ ubuntu@13.236.1.107:/home/circleci-aws/
            #Run script inside of machine
            ssh -o StrictHostKeyChecking=no ubuntu@13.236.1.107 "./deploy.sh"
    

    但这太丑了,尝试使用 AWS Codedeploy 或 ecs 之类的东西来使用容器。

    关于amazon-web-services - CircleCI 部署到 AWS EC2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51626275/

    相关文章:

    php - Laravel - CircleCI - 在 phpunit 上失败

    java - Spring,AWS,访问远程数据库 : java. lang.AbstractMethodError : null at org. springframework.core.OrderComparator.findOrder(OrderComparator.java:142)

    java - 如何使用 .yaml 文件将策略添加到 AWS Lambda 函数?

    ssl - 在 AWS 负载平衡中映射备用 SSL 端口

    amazon-web-services - 与多个可用区一起使用时,Auto Scaling "place"实例如何?

    docker - 在不同环境下运行docker-build的不一致

    python - AWS Glue 截断 Redshift 表

    node.js - 从异步 AWS Lambda 返回数据

    amazon-web-services - 如何在 AWS 中管理非对称(公共(public)/私有(private)) key

    phpunit - CircleCI 上传到 CodeCov 找不到覆盖率报告?