반응형
개요
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 |