TeamCity 代理 - AWS CLI

TeamCity Agent - AWS CLI

我已经使用 JetBrains Stack 模板将 TeamCity 服务器和代理部署到 AWS (https://www.jetbrains.com/help/teamcity/running-teamcity-stack-in-aws.html)

一切似乎都很好,我的服务器启动了,代理可以正常工作,我已经创建了几个构建等等。 我到了一个地步,我想使用 aws-cli 命令将我的应用程序部署到 AWS 环境。

我正在努力 enable/install aws-cli 进入代理。我的构建步骤出错 aws: command not found 有人有什么想法吗? 到目前为止我的进展:我已经通过 ssh bastion ec2 连接到代理 EC2 机器,并且我能够以 ec2-user 的身份调用 aws --version,但是构建代理看不到 aws。

我使用远程桌面连接在 team city 代理中添加了 aws-cli,就像我使用 window team city 代理一样。在构建步骤中,我使用 Runner Type 作为命令行并执行了 aws 命令。

有关详细信息,您可以参考下面 link 我回答问题的地方: How to deploy to AWS Elastic Beanstalk on successful Teamcity build

事实证明,我的 TeamCity 代理通过 docker 图像在 AWS ECS 中运行 https://hub.docker.com/r/jetbrains/teamcity-agent

我最后做的是使用 jetbrains one 作为基础创建我自己的 docker 图像。

我已将 docker 图片上传到 AWS ECS 存储库。之后我为原始任务定义创建了一个新修订版。这个新版本使用我的图像而不是原始图像,因此我在那里有 aws-cli。

然后我将我的 AWS 配置文件添加到 EC2 主机并将卷添加到 docker 容器(通过任务定义)以便容器能够访问 .aws/credentials 文件。

Dockerfile 看起来像这样:

FROM jetbrains/teamcity-agent

RUN apt-get update && apt-get install -y python-pip
RUN pip install awscli --upgrade --user
ENV PATH="~/.local/bin:${PATH}"