Gitlab CI CD - Docker 에서 host 의 aws 설정 사용하기
2023. 9. 18. 00:00ㆍDevOps/GitLab CI CD
반응형
IAM 계정 만들기
aws cli 설치 및 설정
# 설치파일 다운로드
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
# unzip 파일
unzip awscliv2.zip
# install
sudo ./aws/install
aws configure 설정
aws configure set aws_access_key_id $AWS_ACCESS_KEY_ID
aws configure set aws_secret_access_key $AWS_SECRET_ACCESS_KEY
aws configure set region $AWS_DEFAULT_REGION
aws configure list
현재 user 에 설정된 aws 설정 폴더 및 파일을 gitlab-runner 에 copy
#gitlab-runner 에 copy
sudo cp -r ~/.aws /home/gitlab-runner/
#gitlab-runner 로 소유자 변경
sudo chown -R gitlab-runner /home/gitlab-runner/.aws
Dockerfile
# volume 연결을 위한 directory 추가
RUN mkdir /root/.aws 2>/dev/null || true &&\
mkdir /usr/local/bin 2>/dev/null || true
aws share 하는 경우 .gitlab-ci.yml
variables:
CONTAINER_NAME: $CONTAINER_NAME
IMAGE_NAME: $IMAGE_NAME
DB_CONNECTION_STRING: $DB_CONNECTION_STRING
DB_CONNECTION: $DB_CONNECTION
before_script:
- |
echo "Stopping and removing container:" $CONTAINER_NAME
docker stop $CONTAINER_NAME 2> /dev/null || true
docker rm $CONTAINER_NAME 2> /dev/null || true
docker rmi $IMAGE_NAME 2> /dev/null || true
- cd ApiServer
- echo "Running efbundle..."
- chmod +x efbundle.exe
- ./efbundle.exe --connection $DB_CONNECTION_STRING
- cd ../UnitTest
- dotnet test -e ConnectionStrings__Server=$DB_CONNECTION_STRING
- cd ..
stages: # List of stages for jobs, and their order of execution
- build
# 볼륨연결
docker_build:
stage: build
script:
- echo "docker building the code..."
- docker buildx build -t $IMAGE_NAME -f Dockerfile .
- docker run
-e ConnectionStrings__Server=$DB_CONNECTION
-e Logging__LogLevel__Default="Warning"
-v ~/.aws:/root/.aws
-v /usr/local/bin:/usr/local/bin
--name $CONTAINER_NAME -d --restart unless-stopped -p 5006:80
--network my_network $IMAGE_NAME
- echo "docker build complete."
이제 이 pipeline 을 실행하면 code 상에서 aws 에 대한 모든 sdk 를 credential 을 따로 지정하지 않고 사용 가능하다
관련영상
반응형
'DevOps > GitLab CI CD' 카테고리의 다른 글
Gitlab CI CD - Docker 에서 aws cli 사용하기 (0) | 2023.11.20 |
---|---|
Gitlab CI CD - ASPNET Core 배포 및 DB Migration - Refactoring (1) | 2023.10.09 |
Gitlab CI CD - Linux 에서 Gitlab-Runner 설치 및 활용 (0) | 2023.09.11 |
Gitlab CI CD - ASPNET Core 배포 및 DB Migration (0) | 2023.09.04 |