일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- ECR
- helm
- gitlab ci
- CI
- linkerd
- 크롤링
- CI/CD
- scraping
- Jenkins
- Prometheus
- opentelemetry
- Grafana
- 모의해킹
- CD
- sonarqube
- eks
- Service Mesh
- argocd
- 웹 해킹
- gitlab cd
- Monitoring
- docker
- Kubernetes
- Resource
- 웹 취약점
- deploy
- GitLab
- 스크레이핑
- DevOps
- Crawling
- Today
- Total
목록GitLab (9)
ㅡ.ㅡ
Jenkinsfile jenkins-agent를 통해 dind 방식을 사용하여 trivy 이미지를 컨테이너로 생성후 작업이 완료되면 삭제하는 pipeline이다. 추가로 docker-workflow 플러그인을 통해 docker image build시 latest 태그값을 사용해 이미지를 빌드하는 것을 볼 확인할 수 있다. pipeline { agent any stages { stage("Docker Image Scan") { steps { script { sh "docker images" sh """ docker run --rm \\ --network host \\ -v /var/run/docker.sock:/var/run/docker.sock \\ -v $HOME/Library/Caches:/root/..
helm 수정 239 - 241 : pipeline 작업 시 docker, ECR 관련 플러그인 설치 그외 설정 : pipeline 작업을 수행하는 agent에서 docker를 사용하기위한 설정 231 installPlugins: 232 - kubernetes:1.30.1 233 - workflow-aggregator:2.6 234 - git:4.8.2 235 - configuration-as-code:1.52 236 - gitlab-plugin:1.5.20 237 - sonar:2.13.1 238 - generic-webhook-trigger:1.77 239 - amazon-ecr:1.6 240 - aws-credentials:1.31 241 - docker-workflow:1.26 575 agent:..
Gitlab 계정 및 API 키 발급 Jenkins Gitlab API키 등록 및 연결 Dashboard > Credentials > Global > Add Credentials 등록한 API키로 Gitlab 연결 확인 Gitlab 프로젝트 내 Intergrations > Jenkins 활성화 및 Jenkins 주소, 계정, 비밀번호 등입력 후 테스트 Jenkins 프로젝트 생성 및 GITLAB 프로젝트 연동 Jenkins Project 생성(Pipeline) 및 작업 추가 CI 스크립트를 Jenkins에서 관리하는 방법 CI 스크립트를 Gitlab 저장소에서 관리하는 방법 Credentials을 생성하는 방법으로 Gitlab의 ID와 Password를 입력 Gitlab 저장소에 Jenkinsfile 생..
이전에 생성한 gitlab-admin SA와 dtzar/helm-kubectl 이미지를 활용해 Gitlab에서 CD작업을 진행한다. k8s-conf/resource.yaml 저장소에 아래 이미지와 같이 k8s-conf에 생성할 리소스 파일을 준비해놓는다. # 내부 접근용 서비스(ClusterIP) - 셀렉터의 라벨과 파드의 라벨 매칭 apiVersion: v1 kind: Service metadata: name: springboot-svc-clusterip spec: ports: - name: springboot-web-clusterip port: 7070 targetPort: 8080 selector: app: springboot type: ClusterIP --- # 내/외부 접근용 서비스(Nodep..
ECR 주소 변수 생성 AWS CLI + Docker 이미지 생성 아래 이미지와 같이 ECR 내 저장소에 들어가면 푸시 명령어가 작성되어있다. CI 작업 진행시 사용할 도커 이미지와 ECR에 로그인할 AWS-CLI 이미지를 병합한 이미지를 생성한다. # Dockerfile FROM amazon/aws-cli as initial FROM docker.io/library/docker:19.03.15 COPY --from=initial / / # 생성된 IMAGE ECR push(Dockerfile이 있는 경로에서 진행) aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin docker b..
소스코드를 변경 후 Gitlab 저장소에 push했을 때 gradle을 통해 빌드 후 생성된 jar를 파일을 openjdk-jre11 docker image에 옮긴 후 해당 이미지를 Gitlab Registry에 저장하는 방법이다. Deploy Token Gitlab Registyr에 사용할 토큰을 생성 후 CI/CD 변수에 토큰명과 값을 등록하여 CI 작업시 Gitlab Registry 접근 시 해당 값으로 인증한다. Dockerfile # 빌드 작업 FROM openjdk:11-jdk as builder COPY gradlew . COPY gradle gradle COPY build.gradle . COPY settings.gradle . COPY src src RUN chmod +x ./gradle..
CI/CD 진행 시 해당 Runner를 통해 작업을 지시한다. helm gitlab-runner 설치 helm repo add gitlab https://charts.gitlab.io helm pull gitlab/gitlab-runner tar -xvzf gitlab-runner.tgz values.yaml파일 수정 40 gitlabUrl: 주소 41 42 ## The Registration Token for adding new Runners to the GitLab Server. This must 43 ## be retrieved from your GitLab Instance. 44 ## ref: https://docs.gitlab.com/ce/ci/runners/README.html 45 ## 46..
gitlab과 K8S를 연동하여 CI/CD 환경을 구성하여 준다. sa&rabc 생성 gitlab에서 k8s 리소스를 제어하기위해 계정과 권한을 추가해준다. kubectl get sa -n kube-system | grep gitlab-admin 생성 확인 명령어 : ktl get sa -n kube-system | grep gitlab-admin apiVersion: v1 kind: ServiceAccount metadata: name: gitlab-admin namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: gitlab-admin roleRef: a..