
Private GitHub로 Go 모듈 리포지토리 이용하기 go module을 이용하면, 복잡한 패키지를 편하게 관리할 수 있다. go package들을 관리하기 위해서는 module repository 에 모듈을 올려두고, 이를 'go get' 을 이용하여 모듈을 가져올 수 있다. 리포지토리는 GitHub 에 private로 생성해두고, 이를 패키지 리포지토리로 이용할 수 있다. GitHup 리포지토리 생성하기. GitHub에서 다음과 같이 리포지토리를 생성하자. 리포지토리 이름: go-module-repo Description: Go Module Repository Private: 비공개 모드로 설정한다. 위와 같이 생성하자. 위와 같이 리포지토리 정보를 확인할 수 있다. 모듈 생성하기. 이제는 모듈..

Jenkins Slack 연동하기 Jenkins 에서 tfsec 처리 결과를 slack으로 받고, 문제가 발생한 경우 문제 부분을 수정하고 다시 커밋할 필요가 있다. Slack 설정하기. app 설치하기 slack 더보기 > 앱 을 선택합니다. 앱에서 Jenkins 를 클릭하여 "Jenkins CI" 플러그인을 설치한다. 앱 화면이 나오면 Slack 에 추가 버튼을 클릭하여 Slack에 등록합니다. png 채널 생성하기 slack에서 채널 생성을 합니다 위와 같이 이름을 cicd 로 설정한다. 설명은 사용자가 알기 쉽게 작성해 준다. "비공개로 만들기" 를 활성화 한다. Jenkins CI 선택화면에서 이전에 만든 cicd를 선택한다. 이는 jenkins에서 slack 으로 메시지를 보내면 채널로 전송된..
docker-compose 로 멀티 클러스터 mongodb 구성하기 docker-compose를 이용하여 멀티 클러스터를 구성해 보자. mongodb에서는 멀티 클러스터를 replica set이라고 부르고 있다. docker-compose.yaml 파일 작성하기. 이제는 docker-compose.yaml 파일을 생성해 보자. version: '3.8' services: mongo01: container_name: mongo01 image: mongo volumes: - ./mongo/data01:/data/db - ./rs-init.sh:/scripts/rs-init.sh - ./mongodb.key:/mongodb.key networks: - mongo-network ports: - 27021:270..

Terraform + tfsec + Jenkins 배포 자동화 Terraform 은 Hashicorp 에서 개발하고, 오픈소스화한 프로비져닝 툴이다. 다양한 Cloud Provider 리소스 프로비저닝을 제공하며, OnPreme에서도 프로비져닝을 활용할 수 있는 다양한 방법을 제공하고 있다. 프로비저닝의 경우 잠재적인 보안 이슈를 가지고 있으며 이를 검사하고, 보안상 안정적이지 않은 경우 배포를 중지할 필요가 있다. 이때 사용할 수 있는 것이 tfsec라는 도구이다. 여기서는 tfsec으로 테라폼 코드를 확인하고, terraform으로 프로비져닝 단계를 Jenkins Pipeline으로 구성할 것이다. Jenkins 설치하기 Jenkins 의 경우 Docker를 이용하여 설치할 것이다. 사전 준비사항 우..

Docker Compose 로 Jenkins 설치하기. Docker Compose 를 이용하여, 하나의 host 에 여러 Docker Container 를 띄우고, 컨테이너를 함께 동작하도록 할 수 있습니다. 이번에는 mac 에 Docker 를 이용하여 Jenkins 를 설치해 보겠습니다. Mac 에 Docker 설치하기. Docker 는 기본적으로 Linux 계열에서 동작합니다. 그러나 Mac 에서 Docker Desktop 을 설치하면 Docker 를 이용할 수 있습니다. 설치는 https://docs.docker.com/docker-for-mac/install/ 에서 설치해 주면 됩니다. Jenkins master 설치하기. Jenkins master 를 설치하기 위해서는 docker-compose..

Kubernetes apiVersion 알아보기 kubernetes manifest 를 작성할때 구성은 다음과 같다. apiVersion: kind: metadata: sepc: 위 내용과 같은 구조에서 apiVersion 을 통해서 생성하길 원하는 객체가 배포되는 버젼을 지정하게 된다. Overview apiVersion apiVersion 릴리즈 버젼 releaseVersiondesc alpha Kubernetes에 앞으로 생성될 기능의 초기 후보를 의미한다. 버그를 포함할 수 있고 beta 알파를 통과한 기능이며 Kubernetes에 포함될 예정인 기능이라는 것을 의미한다. stable alpha나 beta등의 prefix가 붙지 않으며 안정화된 버젼의 기능을 의미한다. apiVersion 그룹 알..

AWS Policy 생성하기. AWS에서는 특정 리소스에 접근하기 위한 권한에 대한 정책을 생성할 수 있다. 정책은 어떠한 리소스에 대해서, 접근 권한이 어떻게 되는지에 대한 설정을 하는 것을 말한다. 정책을 생성하면, 사용자나 그룹에 정책을 부여할 수 있으며, 정책을 부여 받은 사용자나 그룹은 해당 리소스에 정책에 지정한 권한을 수행할 수 있다. AWS 정책 생성하기 AWS 정책생성은 다음 2가지 방식으로 생성할 수 있다. Visual Editor을 이용하여 생성하기. JSON을 이용하여 생성하기. 여기서는 S3 버킷을 하나 생성하고, S3의 리스트와 버킷을 읽을 수 있도록 정책을 생성해 볼 것이다. S3 버킷 생성하기. S3 메뉴에 접근하여 아래와 같이 버킷을 생성한다. 화면에서 "버킷 만들기" 를 ..
Mongo Shell Baseic 이번에는 mongod shell에 접근하여 간단한 CRUD를 실행해 볼 것이다. mongo shell 이용하기. mongo shell을 이용하기 위해서는 로컬에 mongodb를 설치하여 shell을 실행하는 방법이 있다. 여기서는 docker 컨테이너에 접근하여 mongo shell을 실행해 보자. docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d9793501e971 mongo "docker-entrypoint.s…" 2 hours ago Up 2 hours 0.0.0.0:27017->27017/tcp mongodb 7e7b0ad839d4 mongo-express "tini -- /docker-ent…"..

Install MongoDB with Docker Compose mongodb를 docker compose를 통해서 설치하고 사용해보자. docker compose로 2개의 서비스를 실행할 것이다. mongodb: mongodb 코어로 document base NoSQL이다. mongoexpress: mongodb와 연결하고, 관리할 수 있는 UI 인터페이스이다. Docker Compose 파일 작성하기. docker-compose를 통해서 mongodb를 실행하도록 docker-compose.yaml 파일을 다음과 같이 작성한다. version: "3.8" services: mongodb: image: mongo container_name: mongodb ports: - 27017:27017 volum..
grpc with API Gateway Grpc 와 API Gateway 를 이용하여 REST API 지원하기. initial go module go mod init echo-grpc install module go get "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway" go get "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2" go get "google.golang.org/grpc/cmd/protoc-gen-go-grpc" go get "google.golang.org/protobuf/cmd/protoc-gen-go" Copy google api for grpc..
- Total
- Today
- Yesterday
- go
- MongoDB
- MySQL
- tfsec
- Database
- mongo
- Terraform
- AWS
- CD
- Golang
- kafka-springboot
- docker
- argocd
- springboot
- Spring
- CI
- declative
- jenkins
- NodeSelector
- D3
- kubectl
- Gorilla
- jpa
- kubernetes
- mapping
- deploy
- java
- docker-compose
- gitops
- Kafka
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |