3 个版本
0.0.3 | 2024 年 4 月 16 日 |
---|---|
0.0.2 | 2024 年 2 月 12 日 |
0.0.1 | 2024 年 1 月 20 日 |
#13 in #aws-cli
163 个月下载量
66KB
1.5K SLoC
ECS HelpeRS
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