* 깃헙액션에서 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로 해결
* 워크벤치에서 ssh 터널링으로 db 연결하기
- 일단 연결은 성공
- 그런데 배포환경에서 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 캐시 (1) | 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 |