action 만들기
1. Actions 탭 -> 좌측 New workflow
2. simple workflow
3. workflow 코드 작성
- 아래 코드 중 버킷 URL ,region 등은 개인에 맞게 변경해야합니다.
- dev 와 main 에 push 이벤트가 발생하면 브랜치에 맞게 s3에 업로드 합니다.
* 추후 CodeDeploy 에서 배포를 하기 위하여 S3엔 압축파일로 업로드*
name: Deploy to S3
on:
push:
branches:
- dev
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# 개인에 맞는 환경으로 변경 필요
aws-region: your-aws-region
- name: Set S3 Bucket Path
id: s3path
# 개인에 맞는 환경으로 변경 필요, 현재는 s3/<branch name> 경로
run: |
if [ "${{ github.ref }}" == "refs/heads/main" ]; then
echo "S3_PATH=main" >> $GITHUB_ENV
else
echo "S3_PATH=dev" >> $GITHUB_ENV
fi
# 본인의 s3 Url로 변경 필요
- name: Zip files for deployment
run: |
zip -r deployment_package.zip . -x ".git/*"
- name: Upload zip to S3
run: |
aws s3 cp deployment_package.zip s3://your-bucket-name/${{ env.S3_PATH }}/deployment_package.zip
4. Secret 정보 등록 (aws key 등)
(AWS Access key 생성 방법 참고 : https://tomin.tistory.com/9)
[AWS] Access key 발급하기
AWS Access key 를 발급하려한다.AWS 밖에서 AWS 서비스를 접근하여 작업하려면 해당 key가 있어야한다. Access key 는 IAM 사용자를 생성하여 그 계정에 Key를 받아야 한다.(root x)IAM 사용자를 생성하여 그 I
tomin.tistory.com
4.1 Settings -> Secrets and variables -> Actions-> New repository secret 클릭
4.2 aws access key 정보 등록
5. 결과 확인
- 정상적으로 파이프라인을 구성하면, 버킷에 이런식으로 프로젝트 압축 파일이 upload 됨을 볼 수 있다.
'토이프로젝트 > CICD 도입기' 카테고리의 다른 글
프로젝트 CI/CD 도입기 -7 (CodeDeploy 설정하기-2) (0) | 2024.10.10 |
---|---|
프로젝트 CI/CD 도입기 -6 (CodeDeploy 설정하기-1) (0) | 2024.10.10 |
프로젝트 CI/CD 도입기 -4 (EC2에 개발환경 설정,docker, git, compose) (2) | 2024.10.08 |
프로젝트 CI/CD 도입기 -3 (컨테이너화) (1) | 2024.09.30 |
프로젝트 CI/CD 도입기 -2 (환경 설정 분리) (0) | 2024.09.27 |