#container-image #aws #helper #env-var #command-line-tool #aws-cli #cli

bin+lib ecs_helpers

用于管理 Amazon Elastic Container Service (ECS) 中应用程序部署过程的工具

3 个版本

0.0.3 2024 年 4 月 16 日
0.0.2 2024 年 2 月 12 日
0.0.1 2024 年 1 月 20 日

#13 in #aws-cli

Download history 16/week @ 2024-04-04 105/week @ 2024-04-11 20/week @ 2024-04-18 1/week @ 2024-05-16 1/week @ 2024-05-23

163 个月下载量

MIT 许可证

66KB
1.5K SLoC

ECS HelpeRS

codecov

ECS Helpers - 用于管理 Amazon Elastic Container Service (ECS) 中应用程序部署过程的工具。

主要是对 ecs_helper 的替换,该工具是用 Rust 编写的,以提供更好的性能和更小的容器大小。

简介

ECS Helpers 是一个命令行工具,允许您控制 Amazon Elastic Container Service 中应用程序的部署过程。该工具提供各种命令,用于构建和推送镜像、部署您的应用程序、导出镜像、登录 Amazon Elastic Container Registry (ECR)、运行命令、导出环境变量等。要使用它,需要一个运行服务的 ECS 集群和 task_definitons。Docker 镜像存储在 ECR 弹性容器注册库中。

安装

先决条件:

使用 Cargo

要使用 ECS Helpers,您需要安装 ecs_helpers crate。您可以使用以下命令进行安装

cargo install ecs_helpers

您可以使用 ecs_helpers 命令后跟所需的命令和参数来控制您的应用程序部署过程。

使用 docker

或者,您可以使用 Docker 镜像 bondiano/ecs_helpers。此镜像包含 ecs_helpers 和 Docker。

要使用 Docker 镜像,您可以运行以下命令

docker run bondiano/ecs_helpers ecs_helpers

可用的命令包括

  • build_and_push:构建并推送 Docker 镜像到 Amazon Elastic Container Registry (ECR)。
  • deploy:将 Docker 镜像部署到 Amazon Elastic Container Service (ECS)。
  • export_images:将 Docker 镜像导出到文件。
  • ecr_login:登录到 Amazon Elastic Container Registry (ECR)。
  • run_command:在容器中运行命令。
  • export_env_secrets:将环境变量导出到文件。
  • deploy:将 Docker 镜像部署到 Amazon Elastic Container Service (ECS)。

您可以通过传递参数来选择所需的命令,使用 ecs_helpers 命令。例如,要使用标签 api 构建和推送镜像,可以使用以下命令

ecs_helpers build_and_push --image=api

在 GitLab CI 中使用

ECS Helpers 还可以通过使用预构建的 Docker 镜像在 GitLab CI 中使用。以下是在 GitLab CI 管道中使用 ECS Helpers 的示例

stages:
  - build
  - deploy

variables:
  DOCKER_DRIVER: overlay2
  DOCKER_TLS_CERTDIR: ''
  DOCKER_IMAGE: docker:20.10.6
  PROJECT: test_project
  ECS_HELPERS_IMAGE: bondiano/ecs_helpers:latest
  AWS_REGION: us-east-1
  AWS_DEFAULT_REGION: us-east-1
  APPLICATION: app
  PROJECT: project-name
  USE_IMAGE_TAG_ENV_PREFIX: "true"

.ci_deploy: &ci_deploy
only:
  - master
  - staging

build_app:
  <<: *ci_deploy
  stage: build
  image: $ECS_HELPERS_IMAGE
  script:
    - mkdir -p ./apps/api/dist/apps && cp -r ./dist/apps/api ./apps/api/dist/apps
    - ecs_helpers build_and_push --image=api --cache -d ./apps/api

deploy_app:
  <<: *ci_deploy
  stage: deploy
  image: $ECS_HELPERS_IMAGE
  variables:
  APPLICATION: app
  script:
    - ecs_helpers deploy

在此示例中,ECS Helpers 在 build_app 任务中用于构建和推送 api Docker 镜像,并在 deploy_app 任务中部署应用程序。

当部署应用程序的新版本时,在目标服务中创建一个新的任务定义修订版。

依赖项

~66MB
~1M SLoC