도커 로컬 테스트는 완료했다.
1. github 토큰 발급
2. workflow 작성
3. aws 연결, docker 설치
https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/create-container-image.html
4. aws github runner 설치
5. env
GitHub Actions Secrets:
- GitHub 프로젝트 메인 페이지에서 'Settings'를 클릭합니다.
- 왼쪽 사이드바에서 'Secrets'를 클릭합니다.
- 'New repository secret' 버튼을 클릭하여 비밀 값을 추가합니다.
- GitHub Actions 워크플로우 파일에서 `secrets` 객체를 통해 비밀 값을 사용할 수 있습니다.
환경 변수:
- 서버나 컨테이너의 환경 설정에서 환경 변수를 설정합니다. 이는 OS나 서버 설정에 따라 다릅니다.
- 애플리케이션 코드에서 `process.env` 객체를 통해 환경 변수를 사용할 수 있습니다.
Secrets Management Service:
- AWS Secrets Manager, Google Cloud Secret Manager, HashiCorp Vault 등의 서비스를 사용합니다.
- 서비스에서 제공하는 인터페이스를 통해 비밀 값을 생성하고, 필요한 권한을 설정합니다.
- 애플리케이션 코드에서 서비스의 SDK나 API를 사용하여 비밀 값을 조회할 수 있습니다.
GitHub Actions Secrets 사용
1.
- name: Docker run
run: |
docker stop ${{ env.NAME }} && docker rm ${{ env.NAME }} && docker rmi ${{ env.DOCKER_IMAGE }}:latest
docker run -d -p 80:3000 --name storify-be --restart always \
-e DB_URL=${{ secrets.DB_URL }} \
-e JWT_ACCESS_SECRET=${{ secrets.JWT_ACCESS_SECRET }} \
-e JWT_REFRESH_SECRET=${{ secrets.JWT_REFRESH_SECRET }} \
-e JWT_RESET_SECRET=${{ secrets.JWT_RESET_SECRET }} \
-e OPENAI_API_KEY=${{ secrets.OPENAI_API_KEY }} \
-e HUGGINFACE_API_KEY=${{ secrets.HUGGINFACE_API_KEY }} \
-e AWS_ACCESS_KEY=${{ secrets.AWS_ACCESS_KEY }} \
-e AWS_SECRET_ACCESS_KEY=${{ secrets.AWS_SECRET_ACCESS_KEY }} \
-e AWS_S3_BUCKET_NAME=${{ secrets.AWS_S3_BUCKET_NAME }} \
-e AWS_REGION=${{ secrets.AWS_REGION }} \
-e MAIL_USER=${{ secrets.MAIL_USER }} \
-e MAIL_PASS=${{ secrets.MAIL_PASS }} \
-e TELEGRAM_BOT_TOKEN=${{ secrets.TELEGRAM_BOT_TOKEN }} \
-e TELEGRAM_CHAT_ID=${{ secrets.TELEGRAM_CHAT_ID }} \
-e TELEGRAM_CHANNEL_ID=${{ secrets.TELEGRAM_CHANNEL_ID }} \
-e KAKAO_REST_API_KEY=${{ secrets.KAKAO_REST_API_KEY }} \
-e KAKAO_REDIRECT_URI=${{ secrets.KAKAO_REDIRECT_URI }} \
-e GOOGLE_CLIENT_ID=${{ secrets.GOOGLE_CLIENT_ID }} \
-e GOOGLE_CLIENT_SECRET=${{ secrets.GOOGLE_CLIENT_SECRET }} \
-e GOOGLE_REDIRECT_URI=${{ secrets.GOOGLE_REDIRECT_URI }} \
-e ADMIN=${{ secrets.ADMIN }} \
-e PASSWORD=${{ secrets.PASSWORD }} \
${{ env.DOCKER_IMAGE }}:latest
장점: 개별관리하기 좋음
단점: 코드가 길어짐
json
장점: 한번에 넣어 코드가 깔끔하진다.
단점: 환경변수 중 일부 수정 불가
'Storify' 카테고리의 다른 글
STORIFY(0214) - 프로젝트 회고 (0) | 2024.02.14 |
---|---|
STORIFY (0213) - 카카오톡 로그인, CI/CD 성공 (0) | 2024.02.13 |
STORIFY (0208) - swagger 접근 제어, local docker 테스트 (0) | 2024.02.08 |
STORIFY (0207) - .env 요청 시도 (0) | 2024.02.07 |
STORIFY (0205-0206) - kakao, google 로그인 추가 (0) | 2024.02.06 |