
Pipeline Resource의 유형은 아래와 같습니다. - Git: Git repository - PullRequest: - Image - Cluster - Storage - CloudEvent 유형별로 이해해 보도록 합시다. 1. Git gitlab, github와 같은 형상관리 저장소 리소스입니다. apiVersion: tekton.dev/v1alpha1 kind: PipelineResource metadata: name: git-hello1 namespace: tekton spec: type: git params: - name: revision value: master - name: url value: https://gitlab.com/happycloudpak/hello1 위 예는 gitlab의..

Pipeline과 Pipelinerun의 관계는 아래와 같습니다. - PipelineRun은 PipelineResource를 참조할 수 있습니다. - PipelineRun은 Pipeline을 실행하면서 파라미터를 넘길 수 있습니다. - Pipeline은 여러개의 Task를 가질 수 있습니다. * Pipeline에서 정의된 Task는 PipelineRun에 의해 Pipeline이 실행되면서 수행되기 때문에 Taskrun은 정의하지 않습니다. 그럼 예제를 통해 알아 보도록 하겠습니다. 1. Pipeline YAML 작성 아래 소스로 tutorial-pipeline.yaml파일을 생성합니다. apiVersion: tekton.dev/v1alpha1 kind: Pipeline metadata: name: tut..

Task와 Taskrun의 관계는 아래와 같습니다. - Taskrun은 Resource를 참조할 수 있습니다. - Taskrun은 Task를 실행하면서 parameter를 넘길 수 있습니다. - Task는 여러개의 Step을 가질 수 있습니다. 그럼 간단한 예제를 이용하여 Task와 Taskrun을 이해해 보도록 합시다. 예제 Task는 2개를 만들어 보도록 하겠습니다. 1) build-image: gitlab의 hello1 project의 소스를 가져와 image를 생성한 후 docker.io에 push합니다. - container image는 docker가 아닌 kaniko라는 툴을 사용합니다. - image의 경로(예: happycloudpak/hello1:0.1.2)는 파라미터로 받아 동적으로 바..

도움말 : https://github.com/tektoncd/pipeline/blob/master/docs/install.md 1. 사전준비 Kubernetes 클러스터가 있어야 합니다. 아래를 참조하여 kubernetes 클러스터를 생성하십시오. k8s는 v1.11이상이어야 합니다. https://happycloud-lee.tistory.com/35?category=832243 2. 설치 1) tekton pipeline설치 - Openshift/Minishift에 설치 $ oc login -u system:admin * Minishift에서는 oc login -u admin:admin으로 로그인합니다. 'tekton-pipelines-controller'라는 service account에 'anyui..

Tekton은 YAML파일로 CI/CD Pipeline을 작성하는 오픈소스툴입니다. YAML파일로 되어 있기 때문에 Jenkins와 같은 다른 CI/CD툴과 같이 사용할 수 있습니다. 사용도움말은 아래 링크에 있습니다. https://github.com/tektoncd/pipeline/tree/master/docs 왜 Tekton이라고 지었는지는 모르겠으나, 추측하건대 고대그리스어에서 '목수', '기술자'를 의미하는 tektōn(τέκτων)에서 유래한것 같습니다. Tekton architecture Tekton은 5가지 유형으로 구성되어 있습니다. - Task : 실제 수행을 정의하는 리소스 타입으로 여러 step을 정의할 수 있습니다. - Pipeline: Task의 실행 순서를 정의하는 리소스 타입..

지금까지는 gitlab에 chart file을 올리고 그 chart file을 이용하여 배포를 하였습니다. 이번에는 chartmuseum에 이미 등록되어 있는 chart를 이용해 배포를 해 보겠습니다. 이렇게 하기 위해서는 Jenkins pipeline에서 gitlab에서 가져온 소스에 chart file이 있는지 검사하고, 있다면 이전 글에서와 같이 chart file로 배포하고, 없다면 chartmuseum에 로그인한 후 chart를 가져와 배포해야 합니다. 이번에는 sonarQube를 이용한 소스정적검사와 microScanner를 이용한 image 보안취약성 검사까지 포함시켰습니다. 이 부분은 devops의 실습편을 참고하시기 바랍니다. https://happycloud-lee.tistory.com..
이전 글에서 배포시에는 helm chart로 기존에 배포한 모든 리소스(deployment, service, ingress 등)를 지우고 다시 chart를 설치하였습니다. 실제 운영시에 이렇게 배포하면 잠깐의 서비스 중단이 발생합니다. https://happycloud-lee.tistory.com/10?category=832245 4. Helm chart 이용 Jenkins CI/CD Pipeline: 기본 작성중... 사전준비 - VM준비하기 https://happycloud-lee.tistory.com/11?category=832251 - helm 설치 https://happycloud-lee.tistory.com/3?category=832245 - CI/CD사전툴설치 https://happyclou..

Jenkins에서 인증정보를 담고 있는 credentials파일은 아래와 같이 관리할 수 있습니다. 좌측메뉴에서 Credentials 메뉴를 클릭합니다. 'System'이라는 메뉴가 하위에 표시될겁니다. 우측에 보면 처음에는 Global credentials(unrestrected) Domain만 나올겁니다. 용도별로 구별하여 credential을 관리하고 싶으면 왼쪽 메뉴에서 [Add domain]을 누르십시오. 기존 Domain의 credential을 관리하려면 우측에서 Domain을 클릭하십시오. - 기존 credential을 수정 또는 삭제하려면 우측 목록에서 맨 왼쪽 아이콘을 클릭하십시오. - 새로운 credential을 추가하려면 왼쪽메뉴에서 [Add credentials]을 선택하십시오.
부록: private docker registry 이용 배포하기 실습에서는 docker hub에 있는 public docker registry를 이용하였습니다. 이번에는 private docker regist... blog.naver.com ICP(IBM Cloud Private)의 Private image registry 이용하는 방법 1. 인증파일 복사 사용하는 Terminal에 docker 인증파일을 복사. 아래 예제는 registry주소가 mycluster.icp:8500일때임. - $ mkdir -p /etc/docker/certs.d/mycluster.icp:8500 - master NODE의 위 디렉토리에 있는 ca.crt와 root-ca.crt파일을 복사함 2. docker login $ ..
아래는 gmail을 연동하여 CI/CD진행상황을 메일로 통보하는 방법입니다. 2021년 3월 현재, gmail의 보안이 강화되어, 더 이상 지원되지 않습니다. 하지만, 다른 메일서버를 이용하여 처리가 가능할 수도 있어 남겨 놓습니다. 11. CI/CD Pipeline 6차 버전 개발: gmail 연동 gmail을 SMTP서버로 이용하여 CI/CD 진행상황을 이메일로 통보해 보도록 하겠습니다.1. Jenkins... blog.naver.com

gitlab 또는 github에 push하면, webhook이 동작하여 Jenkins pipeline이 자동으로 수행되게 하는 설정을 추가합니다. 주의할 사항은 webhook이 동작하기 위해서는 최소 1번 그 파이프라인을 수동으로 실행하여 성공시켜야 합니다. 그래야 Jenkins내 어딘가 저장소에 파이프라인과 연결되어 있는 git repository주소가 저장됩니다. webhook 요청이 오면 Jenkins는 요청된 webhook에 있는 git repository정보와 위 저장된 파이프라인 정보를 비교하여 해당되는 파이프라인들을 찾습니다. 그리고 찾은 파이프라인들을 수행해 줍니다. gitlab연동 https://blog.naver.com/hiondal/221632000514 9. CI/CD Pipelin..

Jenkins with Kubernetes방식 이해 아래는 Jenkins with kubernetes방식으로 CI/CD Pipeline이 구동되는 모습입니다. 이 pipeline의 단계(Stage)는 아래와 같이 4개 입니다. (번호가 붙어 있는게 Stage입니다.) 각 Stage에서 하는 일은 아래와 같습니다. 1) CI - Get source: gitlab에서 소스와 CI/CD정의파일을 가져옴 - Build Microservice Image: Image를 build하고 docker hub로 푸시함 2) CD - Cleanup Existing Deployments: 기존에 배포한 POD를 삭제함 - Deploy to Cluster: docker hub registry에서 Image를 가져와 worker..

node.js로 어플리케이션 제작 작업 PC에 Node.js를 설치합니다. -> nodejs.org/ko/ 1) 새 nodejs 프로젝트 생성 > mkdir cicd & cd cicd > mkdir hellonode & cd hellonode > npm init package name: (hellonode) version: (1.0.0) description: entry point: (index.js) test command: git repository: keywords: author: license: (ISC) About to write to /Users/happycloudpak/work/tmp/cicd/hellonode/package.json: { "name": "hellonode", "version..
실습툴 CI/CD에 사용되는 툴은 아래와 같습니다. - MS vscode : 통합개발툴 - Jenkins: CI/CD 메인 툴. kubernetes와 연동하는 Jenkins with kubernetes방식 사용 - github: 소스와 배포script 저장소. public github 이용. - docker registry: 배포 Image 저장소. public registry인 docker hub(hub.docker.com) 사용. - sonarQube: 소스 정적 분석 툴이며 소스의 보안 취약성과 버그를 검사하여 레포팅함. - slack: CI/CD의 진행상황 통지 채널 실습순서 실습은 다음의 순서로 진행됩니다. 1) 사전준비 - node.js로 어플리케이션 제작 - github에 project ..

GitLab image registry를 helm chart를 이용하여 설치하는 방법을 가이드 합니다.helm chart 버전은 8.4.1 입니다. ubuntu@bastion:~/install/gitlab$ helm search repo gitlab/gitlab --versionsNAME CHART VERSION APP VERSION DESCRIPTION gitlab/gitlab 8.4.1 v17.4.1 GitLab is the most comprehensive AI-powered Dev... 사전준비- nfs dynamic provisioninghappycloud-l..

사전준비nfs dynamic provisioninghappycloud-lee.tistory.com/178?category=832243Jenkins 설치 Jenkins 설치 (tistory.com) 1. 설치하기CPU가 최소 4core 이상 되어야 합니다. ㅇ helm repository를 추가합니다.$ helm repo add bitnami https://charts.bitnami.com/bitnami $ helm repo update ㅇ 작업 디렉토리 생성 및 이동$ mkdir ~/install && cd ~/installㅇ sonarqube.yaml 작성$ vi sonarqube.yaml- storageClass는 kubectl get sc로 알 수 있습니다.- ingress의 hostname은 접근..

1. 사전준비- nfs dynamic provisioninghappycloud-lee.tistory.com/178?category=832243 2. Jenkins설치- helm repository를 추가합니다.$ helm repo add bitnami https://charts.bitnami.com/bitnami $ helm repo update- helm chart를 다운로드 하고, 압축을 풉니다. 그리고 jenkins디렉토리로 이동합니다. $ mkdir ~/install && cd ~/install$ helm search repo jenkinsNAME CHART VERSION APP VERSION DESCRIPTION ..
- Total
- Today
- Yesterday
- API Composition
- 스핀프로젝트
- AXON
- 분초사회
- agile
- 스포티파이
- 육각형인간
- SAGA
- CQRS
- 돌봄경제
- 애자일
- 마이크로서비스
- micro service
- spotify
- Event Sourcing
- 디토소비
- 요즘남편 없던아빠
- 도파밍
- 호모프롬프트
- 리퀴드폴리탄
- 버라이어티가격
- 마이크로서비스 패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |