Category: CICD

0

Helm 을 이용한 Jenkins 설치 - Kubernetes

목차 [Jenkins] - Jenkinsfile 작성하기 [Jenkins] - Gitea 와 연동하기 [Jenkins] - Agent 추가하기 [Jenkins] - Helm 을 이용한 Jenkins 설치하기 Jenkins 란Erorr : You must be logged in to the server (Unauthorized)참고 https://artifacthub.io/packages/helm/jenkinsci/jenkins 1. Repository 추가helm repo add jenkins https://charts.jenkins.io 2. value.yaml 준비

0

Helm 을 이용해 Nexus 설치하기

참고1. Helm Repository 추가helm repo add sonatype https://sonatype.github.io/helm3-charts/ 2. Nexus InstallapiVersion: storage.k8s.io/v1kind: StorageClass metadata: name: <storage class 이름> namespace: <namespace 명>volumeBindingMode: Immediateprovisioner: ebs.csi.aws.comparameters: type: gp3reclaimPolicy: RetainallowVolumeExpansion: true# reclaimPolicy: Delete values.yamlStorageClass 정보 추가 ...persistence: enabled: true accessMode: ReadWriteOnce existingClaim: # annotations: # "helm.sh/resource-policy": keep storageClass: "nexus-ebs" storageSize: 20Gi # If PersistentDisk already exists you can create a PV for it by including the 2 following keypairs. # pdName: nexus-data-disk # fsType: ext4tolerations: []

0

[ArgoCD] - Helm 을 이용해 AgroCD 설치하기

참고 https://argo-cd.readthedocs.io/en/stable/ Argo CLI 설치하기brew install argocd Argo CLI 접속argocd login <argo server 가 설치된 URL> --username <username> --password <password> 비밀번호 변경argocd account update-password Kubernetes Cluster 추가

0

AgroCD

공식 홈페이지 https://argo-cd.readthedocs.io/en/stable/ ArgoCD 란?Argo CD는 Kubernetes 및 OpenShift를위한 선도적 인 CI / CD 도구 중 하나입니다. Argo CD는 GitOps를 구현하는 데 사용됩니다. GitOps는 클러스터 구성 및 애플리케이션 배포를 관리하기 위해 Git의 Git 저장소를 단일 소스 진실로 사용하는 접근 방식입니다. Argo CD는 GitOps를 사용하여 애플리케이션 배포 및 런타임 환경을 지속적으로 동기화합니다. Git 저장소의 설정 파일은 Kubernetes 클러스터에있는 애플리케이션을 제어하는 데 사용됩니다. Argo CD는 Kubernetes YAML 파일에서 파싱 된 리소스를 사용하여 배포 및 롤백을 제어합니다. Argo CD는 새로운 애플리케이션 버전을 배포하거나 더 이상 필요하지 않은 버전을 삭제하는 등의 작업을 수행합니다. 또한 미리 정의된 특정 행동 및 이벤트가 발생 할 때 자동으로 배포를 트리거 할 수있는 훅을 제공합니다. Argo CD는 쉽게 설정하고 사용할 수 있으며, CLI와 UI 모두를 통해 사용자 친화적 인 방법으로 애플리케이션의 배포를 제어할 수 있습니다. 따라서 Argo CD는 Kubernetes 및 OpenShift에서 애플리케이션 배포를 단순화하고 자동화하는 강력한 도구입니다.

0

[Jenkins] - Jenkinsfile 작성하기

목차 [Jenkins] - Jenkinsfile 작성하기 [Jenkins] - Gitea 와 연동하기 [Jenkins] - Agent 추가하기 [Jenkins] - Helm 을 이용한 Jenkins 설치하기 Jenkins 란참고 https://www.jenkins.io/doc/pipeline/steps/docker-workflow/ https://tech.osci.kr/2020/01/21/kubernetes%EC%83%81%EC%9D%98-jenkins-%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8-%EC%9E%91%EC%84%B1%EB%B0%A9%EB%B2%95/ https://www.codurance.com/publications/2019/05/30/accessing-and-dumping-jenkins-credentials https://www.jenkins.io/doc/pipeline/steps/credentials-binding/ https://www.jenkins.io/doc/pipeline/steps/pipeline-aws/ https://awstip.com/deploying-a-spring-boot-application-on-aws-eks-using-jenkins-cicd-a-step-by-step-guide-8e684f488ffc Erorr : You must be logged in to the server (Unauthorized) https://aws.amazon.com/ko/premiumsupport/knowledge-center/eks-api-server-unauthorized-error/ Evn Variable https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables Agent 추가additionalAgents: maven: podName: maven customJenkinsLabels: maven image: jenkins/jnlp-agent-maven tag: jdk11 node: podName: node customJenkinsLabels: maven image: jenkins/jnlp-agent-node tag: latest

0

[Jenkins] - Gitea 와 연동하기

목차 [Jenkins] - Jenkinsfile 작성하기 [Jenkins] - Gitea 와 연동하기 [Jenkins] - Agent 추가하기 [Jenkins] - Helm 을 이용한 Jenkins 설치하기 Jenkins 란Erorr : You must be logged in to the server (Unauthorized)참고 https://code00.tistory.com/123 https://hub.docker.com/r/jenkins/inbound-agent https://github.com/jforge/docker-jenkins-inbound-agent https://www.jenkins.io/doc/pipeline/steps/docker-workflow/ https://tech.osci.kr/2020/01/21/kubernetes%EC%83%81%EC%9D%98-jenkins-%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8-%EC%9E%91%EC%84%B1%EB%B0%A9%EB%B2%95/ https://www.codurance.com/publications/2019/05/30/accessing-and-dumping-jenkins-credentials https://www.jenkins.io/doc/pipeline/steps/credentials-binding/ https://www.jenkins.io/doc/pipeline/steps/pipeline-aws/ https://awstip.com/deploying-a-spring-boot-application-on-aws-eks-using-jenkins-cicd-a-step-by-step-guide-8e684f488ffc Erorr : You must be logged in to the server (Unauthorized) https://aws.amazon.com/ko/premiumsupport/knowledge-center/eks-api-server-unauthorized-error/ Timezone 변경controller: javaOpts: "-Dorg.apache.commons.jelly.tags.fmt.timeZone=Asia/Seoul"

0

[Jenkins] - Agent 추가하기

목차 [Jenkins] - Jenkinsfile 작성하기 [Jenkins] - Gitea 와 연동하기 [Jenkins] - Agent 추가하기 [Jenkins] - Helm 을 이용한 Jenkins 설치하기 참고 https://artifacthub.io/packages/helm/jenkinsci/jenkins https://code00.tistory.com/123 https://hub.docker.com/r/jenkins/inbound-agent https://github.com/jforge/docker-jenkins-inbound-agent Agent 추가additionalAgents: maven: podName: maven customJenkinsLabels: maven image: jenkins/jnlp-agent-maven tag: jdk11 node: podName: node customJenkinsLabels: maven image: jenkins/jnlp-agent-node tag: latest

0

[Jenkins] - Helm 을 이용한 Jenkins 설치하기

목차 [Jenkins] - Jenkinsfile 작성하기 [Jenkins] - Gitea 와 연동하기 [Jenkins] - Agent 추가하기 [Jenkins] - Helm 을 이용한 Jenkins 설치하기 참고 Helm Repository https://artifacthub.io/packages/helm/jenkinsci/jenkins 테마 변경 https://jojoldu.tistory.com/343 ✅ value.yaml 준비Jenkins 를 설치하기 앞서 어떤 JDK 버전으로 설치할지, Jenkins 설정을 저장하기 위해서 storage 유형은 어떤걸 사용할지, Jenkins Pod 가 어떤 노드에 뜰지, 현재 한국시간에 맞게 CICD 가 돌아가기 위한 사전 설정이 필요합니다. 1. Jenkins 버전 및 JDK 버전 설정Jenkins Controller 에 어떤 Image 를 사용할지에 대한 설정을 해준다. values-jenkins.yamlcontroller: componentName: "jenkins-controller" image: "jenkins/jenkins" tag: "jdk11" tagLabel: jdk11 imagePullPolicy: "Always"

0

Jenkins - MultiBranch Pipeline

Jenkinsfile MultiBranch Scan Webhook Trigger MultiBranch 에서 Webhook 을 이용한 Build 유발시 사용하는 플러그인 링크 https://plugins.jenkins.io/multibranch-scan-webhook-trigger/

0

Jenkins X

공식 홈페이지 https://www.jenkins.io/ Jenkins Xcurl -L https://github.com/jenkins-x/jx/releases/download/v3.10.83/jx-darwin-amd64.tar.gz | tar xzvchmod +x jx sudo mv jx /usr/local/bin minikube delete minikube start --cpus 4 --memory 6048 --disk-size=100g --addons=ingress --kubernetes-version=1.24 for i in $(kubectl get deploy -n msa|grep -v NAME awk (print $1)) ; do kubectl scale deploy/st -n msa –replicas=1g done for i in $(kubectl get pod|grep -v NAME awk (print $1)) ;

0

Jenkins

공식 홈페이지 https://www.jenkins.io/ Jenkins 란 Jenkins 은 지속적 통합 (Continuous Ingegration) 및 지속적인 배포 (Continuous Deployment) 을 위한 자동화 도구 다. 빌드, 테스트, 배포 프로세스를 자동화 하여 소프트웨어 품질과 생산성을 향상시킬 수 있다. Jenkins는 빌드, 테스트, 배포와 같은 소프트웨어 개발 생명주기의 다양한 단계를 자동화하기 위해 사용됩니다. 개발자들은 Jenkins를 사용하여 코드 변경 사항을 자동으로 빌드하고 테스트하여 문제가 발생하기 전에 빠르게 발견하고 수정할 수 있습니다. 또한 Jenkins를 사용하여 새로운 코드를 배포하기 전에 승인 프로세스를 수행하고, 서버에 자동으로 배포할 수 있습니다. Jenkins는 다양한 플러그인을 지원하여 다양한 언어, 프레임워크, 도구 등을 지원하며, 사용자가 커스텀 플러그인을 만들어 사용할 수도 있습니다. Jenkins는 자유롭게 사용할 수 있는 오픈소스 소프트웨어로, 많은 개발자들이 사용하고 있으며, 대규모 프로젝트에서도 충분히 사용될 수 있는 안정적이고 확장 가능한 도구입니다. 지속적 통합 (Continuous Integration) 이란?