CICD 배포/CICD 배포

[ Jenkins ] 구성

김붕어87 2023. 2. 9. 10:58
반응형
개요
Jenkins은 CI 역할을 합니다.
- Docker Image Build
- Chart Build & ChartMuseum upload

 

Jenkins Install

  • Jenkins 설치
sudo yum update -y

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

yum install -y jenkins

yum install -y git 

yum install -y java-11-amazon-corretto
  • Jenkins 실행
systemctl restart jenkins.service

systemctl status jenkins.service

 

GitHub Repository Sync 설정

  • ssh-keygen 생성
    • Jenkins가 GitHub Repository 연결할 때 사용할 SSH Key 생성
sudo su -s /bin/bash jenkins
whoami; id

mkdir /var/lib/jenkins/.ssh
ssh-keygen -t rsa -b 4096 -C "side-project" -f /var/lib/jenkins/.ssh/github

chmod 755 /var/lib/jenkins/.ssh
chmod 600 /var/lib/jenkins/.ssh/github
chmod 600 /var/lib/jenkins/.ssh/github.pub
  • GitHub에서 SSH public key 등록
    • GitHub Repository → Settings → Deploy Keys → “public key 입력(github.pub)“

 

  • Jenkins GitHub private key 등록

 

 

  • Credentials Key 등록 완료

 

 

  • 최초 한번 ssh 로그인

 

 

 

  • GitHub Repository Clone 테스트
    • Dashboard > 새로운 Item > Freestyle project > GitHub Repository 등록

 

 

 

  • git clone되었는지 확인
ls /var/lib/jenkins/workspace/test1
ls /var/lib/jenkins/workspace/"Job 이름"

 


GitHub Webhook 설정

 

 

 

 

  • GitHub Webhook 테스트 1
    • GitHub webhook → Jenkins

 

 

  • GitHub webhook 테스트 2
    • GitHub Repository 파일 수정 → Jenkins
    • 파일 수정하면 Jenkins Job 자동 실행 확인
 

 

 

 

 


ALB Jenkins Target Group에서 unhealthy 상태가 되는 경우, (health check path “/” )

alb.ingress.kubernetes.io/healthcheck-path: "/login?from=%2F" 옵션을 추가해준다.

annotations:
  alb.ingress.kubernetes.io/group.name: jenkins-alb-internal
  alb.ingress.kubernetes.io/load-balancer-name: jenkins-alb-internal
  alb.ingress.kubernetes.io/target-type: ip
  alb.ingress.kubernetes.io/scheme: internal
  alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:ap-southeast-1:xxx:certificate/9xxx
  alb.ingress.kubernetes.io/healthcheck-path: "/login?from=%2F"
  alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS": 443}]'
    #alb.ingress.kubernetes.io/force-ssl-redirect: "false"
  alb.ingress.kubernetes.io/actions.ssl-redirect: "443"

 

 

반응형

'CICD 배포 > CICD 배포' 카테고리의 다른 글

[ ARC ] Action Runner Controller (GitHub)  (0) 2023.02.09
[ Jenkins ] GitHub webhook 설정  (0) 2023.02.09
ChartMuseum  (0) 2023.02.09
ArgoCD Vs Spinnaker 비교  (0) 2023.02.09
CD - Spinnaker - Artifact  (0) 2023.02.09