반응형
반응형
저는 CI/CD 파이프라인을 구축할 때 주로 Github Actions를 이용해서 구축합니다. 이 때 CI 실패 시 실패 여부를 Slack 알림으로 받고 싶었고, 그 구축 과정을 하나씩 살펴 보겠습니다. CI를 위한 Workflow 생성 CI Test라는 이름으로 아래와 같이 Github Actions에서 수행 될 workflow 파일을 생성합니다. npm 사용을 기준으로 작성되었으며, yarn을 사용하는 경우 아래 사항을 수정합니다. yarn 사용 시 변경 사항 cache 이용 시 package-lock.json을 yarn.lock으로 변경 디펜던시 설치 시 테스트 실행 명령: yarn --frozen-lockfile && yarn test workflow 실행 순서 main 브랜치 기준으로 PUSH ..
개발을 할 때 특정 툴 또는 라이브러리 등을 설치하다 보면 OS Type과 CPU Architecture를 명시해줘야 되는 경우가 있습니다. 예를 들어 OS Type의 경우 darwin, linux 등이 있고, CPU Architecture는 amd64, arm64 등이 있습니다. 물론 많이 설치하다 보면 자연스럽게 외워지게 되어 문제는 없지만, 사용하는 환경이 변경된다거나 로컬 환경과 실제 배포 환경이 다른 경우에는 각각에 맞춰서 다른 명령을 실행해야 합니다. 이럴 때 알아주면 좋은 명령어 2가지가 있습니다. OS Type uname Ubuntu에서 실행한 경우 MacOS에서 실행한 경우 CPU Architecture dpkg --print-architecture Apple M1, M2 Chip에서 실..
Flutter Bloc 관련 된 샘플 코드를 작성하다가 아래와 같은 warning을 만났다. 'runZoned' is deprecated and shouldn't be used. This will be removed in v9.0.0. Use Bloc.observer/Bloc.transformer instead.. (Documentation) Try replacing the use of the deprecated member with the replacement. 원래는 이렇게 쓰던 건데 runZoned가 9.0.0 버전부터 사라지면서 조금 더 심플하게 변경되었다. void main() { BlocOverrides.runZoned( () => runApp(const CounterApp()), blocOb..
오류 메세지 Error response from daemon: Head "https://registry-1.docker.io/v2/moby/buildkit/manifests/buildx-stable-1": unauthorized: incorrect username or password 어제까지만 해도 잘 동작하던 docker가 위와 같은 에러를 내뿜고 있었습니다. 원인 찾기 어제 한 일을 돌이켜 보면, 서비스에서 사용할 base docker 이미지를 만들어서 docker hub에 올렸습니다. 그런데 Local은 arm64 환경이었고, 배포 환경은 amd64였기 때문에 둘 다에서 사용하려면 multi-platform build를 진행해야 했죠. 아래 명령으로 진행을 했고, docker buildx crea..
필요한 이유 웹 서비스를 만들다 보면, 해외 접속 환경을 테스트해야 될 경우가 있습니다. 특히 시간과 관련된 기능은 반드시 그렇게 해야만 합니다. 실행 방법 MacOS의 크롬을 기준으로 설명하겠습니다. 터미널에서 아래 명령을 실행하면, TZ에 지정한 시간대로 크롬이 실행됩니다. TZ='US/Pacific' open -na "Google Chrome" --args "--user-data-dir=$HOME/chrome-profile" 확인 방법 크롬 개발자 도구를 켜고 콘솔에 new Date() 를 실행합니다. 그러면 TZ에 지정한 시간대의 시각이 나오는 것을 확인할 수 있습니다. 이제 이 상태에서 테스트를 원하는 페이지에 접속하면 됩니다.