macOS 10.15 홈서버 구축 -(3)CI/CD

zion·2025년 7월 10일

Mac

목록 보기
3/3

Jenkins(Kubernetes 방식)으로 사용시(선택)

  1. 설정
kubectl create namespace jenkins
kubectl apply -f jenkins.yaml //Jenkins 배포
minikube service jenkins-service -n jenkins //Jenkins 접속
  1. 초기 비밀번호 확인
kubectl exec -n jenkins -it deployment/jenkins -- cat /var/jenkins_home/secrets/initialAdminPassword
  1. secret 생성
kubectl apply -f jenkins-serviceaccount.yaml
kubectl create secret generic jenkins-sa-token \
  --namespace jenkins \
  --type kubernetes.io/service-account-token \
  --from-literal=extra=dummy \
  --dry-run=client -o yaml | \
  sed '/extra:/d' | \
  tee jenkins-sa-token.yaml
kubectl apply -f jenkins-sa-token.yaml
kubectl get secret jenkins-sa-token -n jenkins -o jsonpath="{.data.token}" | base64 --decode

minicube 고정 포트 사용

minikube service zion-web
curl http://[minikube ip]:32209

고정 URL 연결 실패시,

1) port-forward 방식
kubectl port-forward svc/zion-web 8080:80
2) LoadBalancer 방식
kubectl delete svc zion-web
kubectl expose deployment zion-web --type=LoadBalancer --port=80
minikube tunnel
EXTERNAL-IP 생성확인
kubectl get svc

Jenkins 빌드 실패

  1. No credentials specified
    checkout scm :Jenkins가 브랜치와 자격증명 다 관리

  2. npm: command not found v18.20.2

curl -O https://nodejs.org/dist/v18.20.2/node-v18.20.2-darwin-x64.tar.xz
tar -xf node-v18.20.2-darwin-x64.tar.xz
mv node-v18.20.2-darwin-x64 ~/node
echo 'export PATH=$HOME/node/bin:$PATH' >> ~/.zshrc
source ~/.zshrc

[GitHub Push]
↓ (Webhook)
[Jenkins Git Pull]

[Docker Build (Minikube Docker)]

[kubectl로 배포]

[Minikube 앱 서비스]

profile
be_zion

0개의 댓글