고양이발일기
Github Actions로 CI/CD 설정하기 본문
비록 12시가 지나버렸지만..
아직 잠들기 전까지는 일요일이다 이말이야
도메인 설정하는 작업을 하려했으나 결제를 해야하는거 보고 발빼버리기 ㅎ
아무튼 시작합니당 기기링
1. IAM console에서 유저 생성하기
s3-deploy-manager 같은 이름으로 설정하면 된다.
난 일단 테스트 계정을 만들어 뒀으니 패쓰
2. 접근 권한 설정하기
접근 권한은.. 보안을 위해서라면 해당 유저에게 정말 컨트롤 할 수 있는 권한만 해줘야하지만 나는 테스트 단계이기도하고
전부 내가 다룰 것 이므로 ㅎ FullAccess 권한을 주겠 당...

3. Github에 유저 정보 업로드
전에도 유저 생성이 완료 되었을때 해당 유저의 access key와 secret key를 주는데 해당 파일은 무조건 다운로드 받아놔야한다고 했었다!
그 정보를 깃허브에 입력을 해야하니 이번에도 까먹지 말고 저장을 해두자
전에 만들어놓은 계정이라면 그 파일을 다시 찾아보십쇼

해당 레포지토리에 들어가서 Setting > Secrets 탭에 들어가준다.

AWS_ACCESS_KEY_ID 와 AWS_SECRET_ACCESS_KEY로 계정의 엑세스 키와 시크릿 키 값을 업로드 해쥽니당.
이제 액션 내에서 저 두개의 변수 값으로 엑세스 키와 시크릿 키값을 접근할 수 있다는 것 !
4. deploy 파일 추가하기
이제 레포의 최상단에서 .github/workflows/deploy.yml 파일을 하나 만들어주고 수정해줍니다.
제가 쓴 소스는 이렇습니다.
각자 빌드 방식이 다르니 꼭 구글링 해보시고 맞는 형식에 따라서 수정하세욤
name: Test deploy # Workflow 이름
on: # Event 감지
push:
branches:
- master
jobs: # Job 설정
build:
runs-on: ubuntu-latest
steps:
- name: Checkout source code. # Repo checkout
uses: actions/checkout@v2
- name: Check Node v # Node v 확인
run: node -v
- name: Install Dependencies # 의존 파일 설치
run: npm install
- name: Build # React Build
run: npm run-script build
- name: Deploy # Upload build file to S3
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: |
aws s3 cp --recursive --region ap-northeast-2 build s3://crc-sensor-test
5. Action에서 확인
마스터에 푸쉬를 해준다음에 action에서 잘 실행되고 있는지 확인해줍니다.

6. 코드를 바꿔보고 마지막 확인!
한번 코드를 바꿔보고 자동으로 CD 가 이루어 지는지 확인해보겠씁니다..
두근


어허 빌드에서 에러가 났습니다..
import 해놓고 안쓴거 때문인가? 엥 진짜?
먼 그런 에러가 다있슴;; 암튼 다시 지우고 도전


자동으로 코드가 업로딩 되는 것을 확인할 수 있었다
히히
저걸로 친구들 많이 낚아야 겠다 아따 뿌 듯 하구만 ^-^ v

'개발 일기' 카테고리의 다른 글
Typescript 특징 정리 (0) | 2021.08.04 |
---|---|
React date/time format 사파리 문제 (0) | 2021.08.03 |
AWS에 웹 프론트 배포하기 (2) | 2021.07.23 |
AWS SAM을 이용한 Hello World 애플리케이션 배포하기 (0) | 2021.07.22 |
AWS 서버리스 애플리케이션 모델 (AWS SAM) (0) | 2021.07.22 |