도커 익명 볼륨, 명명된 볼륨, 바인딩 마운트 차이점
·
인프라
우선, "볼륨"은 컨테이너 외부의 특정 폴더와 연결된 컨테이너 내부의 폴더/파일 이다. 익명 볼륨 익명 볼륨은 이미 존재하는 특정 데이터를 잠그는데 유용하다. 다른 모듈에 의해 덮어지면 안되는 파일을 보호하는데 이용.(예를 들면 바인딩 마운트를 이용해야하는데 npm install은 컨테이너에서 1차적으로 진행해서 이를 유지하고 싶을때 등) --rm 명령으로 실행된 컨테이너가 제거되면 바로 삭제되고, docker rm 으로 지운 컨테이너의 볼륨은 유지된다. tmp 폴더를 지정해서 사용하라는 말도 있던데, 정확히 어떻게 사용할 지는 모르겠다. 외부 경로보다 컨테이너 내부 경로 파일/폴더의 우선순위를 높이는 데 사용할 수 있다. 명명된 볼륨 명명된 볼륨은 명령어로만 실행하능하며, 경로 콜롬 앞에 이름을 지정할..
Rute53 호스팅 영역 비용 청구"$0.50 per Hosted Zone for the first 25 Hosted Zones" (feat. 가비아)
·
인프라
가비아에서 구매한 도메인을 그대로 ec2와 연결하려했으나,,, 인터넷에서 많이들 Route53에 호스팅 연결해서 네임서버들을 가비아 DNS설정에 넣길래 따라했었다. 그리고 어느날 aws빌링을 보니 0.5달러가 찍혀나와서 확인해보니 $0.50 per Hosted Zone for the first 25 Hosted Zones 와 같은 내역이 있었다. 찾아보니 호스팅 영역을 연결하는 것만으로도 돈이 들더라,,, 인터넷 글들에서 추천한 이유는 뭘까? 뭐가 좋은 점이 있어서 추천했겠지?만은 돈이 아까워서, 바로 가비아에 직접 연결하는 걸로 변경!
Gradle build 최적화하기
·
인프라
github action으로 CD를 돌리면 2분정도 소요된다. 이렇게 시간이 오래걸리는 문제를 해결하기 위해서 캐싱!을 하면 된다. 캐싱 된 후부터는 시간이 30초 정도 단축되었다! # gradle caching - 빌드 시간 향상 - name: Gradle Caching uses: actions/cache@v3 with: path: | ~/.gradle/caches ~/.gradle/wrapper key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} restore-keys: | ${{ runner.os }}-gradle-
github action시 application.yml을 비공개로 처리하는 방법
·
인프라
aws 키들을 넣은 것처럼 깃헙 레포의 시크릿에 yml 코드를 넣어놓고, github action 동작시 빌드전에 파일 생성 및 주입한다. # 환경별 yml 파일 생성(1) - application.yml - name: make application.yml if: | contains(github.ref, 'main') || contains(github.ref, 'develop') run: | mkdir ./src/main/resources # resources 폴더 생성 cd ./src/main/resources # resources 폴더로 이동 touch ./application.yml # application.yml 생성 echo "${{ secrets.YML }}" > ./application.ym..
스프링부트 s3, ec2, github action, code deploy로 CI/CD 배포 중 발생한 에러 처리 (gradle)
·
인프라
S3에서 EC2로 넘어온 프로젝트 폴더가 빌드가 되지않았다. 이는 빌드를 해줄 도구가 없어서 발생한 문제로, 깃 레포에 gradle폴더와 ./gradlew파일을 꼭 포함하고 있어야한다. 그리고 github workflows의 작업중에 - name: Grant execute permission for gradlew run: chmod +x ./gradlew shell: bash 으로 ./gradlew파일의 실행 권한을 줘야한다. gralde폴더가 빌드를 위한 그레이들을 세팅을 하고, ./gradlew가 실제 빌드 해준다. ".gitignore"에 추가되어서는 안됩니다! 나는 필요없는 폴더로 착각하고 레포지토리에 올리지 않았다가 이런 경험을 했다
[군대에서 개발하기] 아파치 과카몰리 이슈 해결 기록(인증서, rdp 접속오류)
·
인프라
아파치 과카몰리. 사지방 필수품이 될 예정인 친구. 이지만 작업중 두가지 문제를 마주하였다.  https://github.com/boschkundendienst/guacamole-docker-compose.git GitHub - boschkundendienst/guacamole-docker-compose: Guacamole with docker-compose using PostgreSQL, nginx with SSL (self-signedGuacamole with docker-compose using PostgreSQL, nginx with SSL (self-signed) - GitHub - boschkundendienst/guacamole-docker-compose: Guacamole with dock..