GitLab CI/CD 部署 AWS EC2

问题描述 投票:0回答:1

我不确定我的 ci/cd 配置文件是否正确 实际上我尝试了很多方法,但它仍然在 gitlab pipline 处返回日志

aws: not found

这是我的 .gitlab-ci.yml 文件

image: amazon/aws-cli:latest stages: - build - deploy variables: AWS_DEFAULT_REGION: "ap-northeast-2" AWS_ECR_REGION: "us-east-1" ECR_REGISTRY: "public.ecr.aws/{here_id}" AWS_ACCESS_KEY_ID: "access_key" AWS_SECRET_ACCESS_KEY: "secret_key" before_script: - aws ecr-public get-login-password --region $AWS_ECR_REGION | docker login --username AWS --password-stdin $ECR_REGISTRY build: stage: build image: docker:latest script: - docker build -t frontend_repo . - docker tag frontend_repo:latest $ECR_REGISTRY/frontend_repo:latest - docker push $ECR_REGISTRY/frontend_repo:latest only: - main deploy: stage: deploy image: docker:latest script: - docker stop frontend_container - docker rm frontend_container - docker rmi $ECR_REGISTRY/frontend_repo:latest - docker pull $ECR_REGISTRY/frontend_repo:latest - docker run -t -d -p 80:3000 --restart unless-stopped --name frontend_container $ECR_REGISTRY/frontend_repo:latest - docker logs -f frontend_container
主要目标是连接到 AWS -> 构建 Docker 镜像并将其推送到 AWS ECR -> 在 EC2 实例上拉取并运行 docker 容器

乍一看,脚本似乎是正确的,但即使使用 amazon/aws-cli 图像作为执行环境,我也无法连接到 AWS

有人可以检查可能存在的问题吗? 所需的变量已添加到 GitLab CI/CD 变量中

gitlab-ci
1个回答
0
投票
这个问题已经解决了

export AWS_ACCESS_KEY_ID=$VARIABLE_NAME_SAVED_IN_GITLABCI_SETTINGS

export AWS_SECRET_ACCESS_KEY=$VARIABLE_NAME_SAVED_IN_GITLABCI_SETTINGS
在 aws 登录之前的构建阶段

我还在构建阶段使用了 amazon/aws-cli 镜像,然后我将安装 docker

还需要一个像 docker:dind 这样的服务,以便在构建阶段在 aws 镜像中使用它

© www.soinside.com 2019 - 2024. All rights reserved.