FE

SEB_26_CI/CD 본문

SEB_FE

SEB_26_CI/CD

zizonemoi 2022. 10. 12. 16:52

[keyword]

클라이언트 배포, CI/CD, github action으로 클라이언트 CI/CD를 구축한 배포 링크

 

github action을 통한 aws 배포

1. github repository로 폴더 remote연결

2. 연결 후 github workflows폴더 안에 작성파일.yml 파일 만들기

3. yml문서에 테스트 적기 -> 성공하면 빌드해서 배포

# .github/workflows/작성파일이름.yml
# 꼭 : 다음 공백 있어야 함
name: 테스트 이름
on: 
 push: 
   branches:
    - 브랜치이름
jobs:
 build:
  runs-on: ubuntu-버전적기
  steps: #이 순서대로 테스트 진행
   - name: 테스트 네임
     uses: actions/checkout@v2
   - name: Install dependencies
     run: npm install # 나는 npm 사용해서
     working-directory: 배포할 파일 경로 적기 
   - name: Build
   	 run: npm run build
     working-directory: 배포할 파일 경로 적기
   - name: 버킷 테스트 
     env:
      AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
      AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
     run: |
     	aws s3 cp \
        	--region ap-northeast-2 \
            build s3://버킷이름적기 --recursive --acl public-read
     working-directory: 배포할 파일 경로 적기

브랜치로 커밋 후 github actions의 yml파일에 적힌 명령어로 Webpack 빌드 하고 s3로 빌드 결과를 업로드하는 흐름을 배웠다.

중간에 secrets.AWS_ACCESS_KEY_ID이런 코드는 하드코딩하면 유출이 된다고 해서 

https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository

 

Encrypted secrets - GitHub Docs

About encrypted secrets Secrets are encrypted environment variables that you create in an organization, repository, or repository environment. The secrets that you create are available to use in GitHub Actions workflows. GitHub uses a libsodium sealed box

docs.github.com

이 내용을 참조해서

1. 레포지토리 들어간다

2. Settings들어가서 

Security-Secrets-Actions들어가서

New repository secret 만들어서 

이름

시크릿 값

넣어줘야하는데

이름은 코드에 적힌대로 넣어야 된다

'SEB_FE' 카테고리의 다른 글

Section4 회고  (0) 2022.10.19
SEB_27_Proxy  (0) 2022.10.13
SEB_25_Optimization  (0) 2022.10.07
SEB_24_Webpack  (0) 2022.09.26
Section3 회고  (0) 2022.09.19
Comments