Mini
24.11.14. 개발일지 // 자동배포, 깃헙액션에서 db test, ssh 터널링 db 연결 본문
* 깃헙액션에서 mysql, redis test 환경구축
const moduleRef = await Test.createTestingModule({
imports: [
RedisModule.forRoot({
type: 'single',
url: 'redis://localhost:6379',
}),
],
providers: [
GameGateway,
GameService,
GameValidator,
{
provide: 'default_IORedisModuleConnectionToken',
useValue: redisMock
}
]
}).compile();
const module: TestingModule = await Test.createTestingModule({
imports: [
ConfigModule.forRoot({
envFilePath: '../.env',
isGlobal: true
}),
TypeOrmModule.forRoot({
type: 'mysql',
host: process.env.DB_HOST || 'localhost',
port: +process.env.DB_PORT || 3306,
username: process.env.DB_USER,
password: process.env.DB_PASSWD,
database: process.env.DB_NAME,
entities: [QuizSetModel, QuizModel, QuizChoiceModel, UserModel, UserQuizArchiveModel],
synchronize: process.env.DEV ? true : false // 개발 모드에서만 활성화
// logging: true, // 모든 쿼리 로깅
// logger: 'advanced-console'
// extra: {
// // 글로벌 batch size 설정
// maxBatchSize: 100
// }
}),
TypeOrmModule.forFeature([QuizSetModel, QuizModel, QuizChoiceModel, UserModel])
],
providers: [QuizService]
}).compile();
- 우선 깃헙액션 db 정보와 테스트 환경정보랑 맞춰주자.
- 컨트롤러 test에서 터지네?
- 로컬에서는 잘되는데 db 설정 문제인가?
- 깃헙액션의 mysql은 도커위에서 돌아간다.
- 구글링을 통해 - sudo /etc/init.d/mysql start 키워드를 추가했더니, 도커와 충돌이 난것이다.
- 해결 : 해당코드제거
* pm2 command not found error 해결
- pm2 가 글로벌로 설치되지 않아서 그런가?
- 터미널로 접속하니 pm2 명령어가 잘 실행된다...
- 왜 깃헙액션에서는 안되는거지
- pm2의 경로문제인것같다.
- https://techbless.github.io/2022/11/07/Github-Action%EC%97%90%EC%84%9C-npm%EA%B4%80%EB%A0%A8-command-not-found-%EC%98%A4%EB%A5%98-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95/
- 일단 npx로 해결
Github Action에서 npm관련 command not found 오류 해결 방법
TypeScript, Node.js, 알고리즘, 자료구조, 데이터베이스, 개발 팁, 각종 문제 해결 방법 등을 공유합니다.
techbless.github.io
* 워크벤치에서 ssh 터널링으로 db 연결하기
[NCP] SSH 터널링 (feat. MySQL 워크벤치)
내용 순서 상황 설명 MySQL 설정 Private Server의 ACG 수정 워크벤치에서 커넥션 생성 워크벤치에서 마주쳤던 문제들 마무리 1. 상황 설명 VPC 환경에 Public Subnet과 Private Subnet을 생성했고, NAT 게이트웨
thisismi.tistory.com
- 일단 연결은 성공
- 그런데 배포환경에서 mysql로 연결이 안되는것같다.
- 직접 db server에 들어가보자
- 접속은 잘된다.
- 환경변수가 문제였다.
- redis와 mysql이 같은서버에 있었다. -> ip도 같게 수정!
- 운영db에 test data를 넣어보자.
* PR 등록시 slack msg 보내기
- 자꾸 not int channel 에러가뜸.
- 초대했는데도 계속에러..
- 일단 코드만 작성
name: notify pr review
on:
pull_request:
types: [ review_requested ]
jobs:
notify:
runs-on: [ ubuntu-latest ]
steps:
- name: Notify PR Review
uses: naver/notify-pr-review@v1.2.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
slackBotToken: ${{ secrets.SLACK_BOT_TOKEN }}
'개발일지' 카테고리의 다른 글
24. 11. 19. 개발일지 // test-code 의존성 수정, redis 구독 리팩토링, 진행중게임에 들어올수없음 (0) | 2024.11.20 |
---|---|
24. 11. 18. 개발일지 // api vs 서비스주입, redis 캐시 (0) | 2024.11.19 |
24. 11. 17. 개발일지 redis 탐색 (0) | 2024.11.18 |
24.11.14. 발표자료 // n+1문제해결, 변경감지, redis 설계 (0) | 2024.11.14 |
[week2-수요일] 개발일지 // 테이블설계 (0) | 2024.08.28 |