문제 제기 Git Action을 사용하는 도중, 브랜치 별로 다른 설정을 해야 할 일이 생겼습니다. 정확히는 main 브랜치에 push가 들어올 경우에만 review를 받은 후 action을 동작시켜야 했습니다. 팀에서 해결 방법을 찾지 못해 똑같은 파이프라인 yaml 파일을 두 개(ci-prd.yaml, ci.yaml) 만들어 사용했습니다. 한 파일은 main 브랜치에 push가 들어왔을 때, 다른 파일은 dev, stg 브랜치에 push가 들어왔을 때. 이러면 코드를 수정할 때 두 파일을 모두 수정해주어야 하고, 이로 인해 휴먼에러가 생기겠다 싶었습니다. 처음엔 브랜치 별로 job을 나눠서 job을 두 개 돌릴까도 생각해봤는데, 그러면 똑같은 코드를 두 번 써야하는 건 마찬가지라 패스했습니다. env..
gitaction
실행 환경 AWS EC2 - Ubuntu 22.04 window Git Action Spring Boot 에러 파악 Git Action을 이용해 SpringBoot gradle 빌드를 진행 했습니다. Action에서 제공하는 yml을 사용하여 build를 했는데 gradlew를 실행할 수 없다는 에러가 발생했습니다. gradle 동작 방식을 몰라서 삽질을 좀 했습니다. Error: Gradle script '/home/runner/work/cloud-skills-sample-spring-boot-app/cloud-skills-sample-spring-boot-app/gradlew' is not executable. 원인 분석 찾아보니 gradlew 파일에 대한 실행 권한이 없어서 발생한 에러였습니다. A..
배경 슬랙봇을 서버에서 항상 돌리고 싶었다. 원래는 도커파일 작성해서 올리려고 했는데 마감이 코앞이라 거기까진 못할 것 같고 이번엔 rsync 접속을 사용해보기로 했다. 그리고 rsync 접속은 안 해본 거기도 하니까. Naver Cloud, Git Action(Appleboy, butnett01 사용) Naver Cloud 서버 만들기 서버부터 생성해준다. 인증키가 없으면 '새로운 인증키 생성'으로 하면 된다. 포트 포워딩 설정을 해준다. 사용할 포트 번호를 입력하고 여기서 서버 접속용 공인 IP를 기록해둔다. 사용해야 하니까. 추가버튼 누르고 밑에 적용까지 눌러야 한다. 서버 관리 및 설정 변경에서 관리자 비밀번호 탭에 들어가서 아까 인증키를 넣으면 비밀번호가 나온다. 이 비밀번호도 기록해둔다. 로그..
Mocha Test Mocha Test는 Node.js 테스트 framework이다. 테스트에 필요한 구문의 형태를 편리하게 사용할 수 있는 기능들을 제공한다. 따라서 직관적인 테스트 코드를 구현할 수 있다. 테스트 수행 결과를 깔끔하게 출력해준다. Mocha Test 설치 $ npm install mocha -g // test.spec.js 파일 require('dotenv').config(); const { RTMClient } = require('@slack/rtm-api'); const fs = require('fs'); const channel = ''; let token; try { token = fs.readFileSync('./token').toString('utf-8'); } catch ..