Dev/DevOps

helm으로 gitea, jenkins 설치

TrendPilot 2025. 2. 26. 13:25

본문은 쿠버네티스 위에 helm 으로 gitea 와 jenkins 설치했습니다.

 

쿠버네티스 버전은 1.28.11버전이고, control-plane 1대와 worker-node 3대 로 구성된 클러스터 위에 배포했습니다.

 

Gitea 배포

먼저 배포할 네임스페이스를 생성해 줍니다.

kubectl create namespace gitea

 

helm 설치 확인

helm version

 

gitea helm chart 설치

helm repo add gitea-charts https://dl.gitea.com/charts/  
helm install gitea gitea-charts/gitea -n gitea

 

설치 확인

kubectl get all -n gitea

 

접속 확인

본문은 kvm 위에 올라간 vm 이기 때문에 터널링을 통해 대시보드 접속해줍니다.

 

포트포워딩

kubectl port-forward svc/gitea-http -n gitea 3000:3000

 

로컬호스트로 접속

ssh -L 192.168.60.159:3000:localhost:3000 cocktail@localhost

 

대시보드 접속 확인

# gitea-http 서비스 포트 확인
{ IP }:3000

 

계정 생성 후 저장소 생성

 

배포한 서버에서 테스트 코드 올린 후 push 테스트

아래 링크 명령 참고

2025.02.24 - [Dev/DevOps] - gitea

 

gitea

git의 경량화된 서비스로, 자체 호스팅할 수 있는 Git 서버를 제공합니다. 본문에는 시스템에서 Gitea 설치 진행했습니다. 설치 준비1. 패키지 업데이트sudo apt update && sudo apt upgrade -y 2. 필요한 패

innoverse.tistory.com

 

레포지토리로 push 확인


 

수정) values.yaml 파일 추가 후 업그레이드

vim values.yaml

```
gitea:
  webhook:
    ALLOWED_HOST_LIST: "{옥텟}.{옥텟}.{옥텟}.*" # ex) "192.168.60.*"
    SKIP_TLS_VERIFY: true
```

 

추가 후 helm upgrade

helm upgrade --install gitea gitea-charts/gitea -n gitea -f values.yaml

 

정상 배포 확인


Jenkins 배포

배포할 네임스페이스 생성

kubectl create namespace jenkins

 

helm 으로 배포 

helm repo add jenkinsci https://charts.jenkins.io
helm repo update

 

영구 볼륨 생성합니다.

yaml 파일 내용은 하기 링크 참고

https://raw.githubusercontent.com/installing-jenkins-on-kubernetes/jenkins-volume.yaml

vim jenkins-volume.yaml

 

생성한 yaml 파일 배포합니다.

kubectl apply -f jenkins-volume.yaml

 

젠킨스 설치

yaml 파일 내용은 하기 링크 참고

raw.githubusercontent.com/jenkinsci/helm-charts/main/charts/jenkins/values.yaml

vim jenkins-values.yaml

 

yaml 과 함께 젠킨스 설치

chart=jenkinsci/jenkins
helm install jenkins -n jenkins -f jenkins-values.yaml $chart

 

설치 확인

kubectl get all -n jenkins

접속 확인

# jenkins 서비스 포트 확인
{ IP }:8080

 

로그인

패스워드 확인 방법

jsonpath="{.data.jenkins-admin-password}"
secret=$(kubectl get secret -n jenkins jenkins -o jsonpath=$jsonpath)
echo $(echo $secret | base64 --decode)

계정 : admin

패스워드 : 상기 명령 확인 후 기입

 


이후 webhook 과정은 앞의 문서와 동일하게 설정하였습니다.

2025.02.24 - [Dev/DevOps] - gitea - jenkins webhook

 

gitea - jenkins webhook

사용자가 수동 개입 없이 자동으로 CI/CD 파이프라인을 구축하여, 빌드, 테스트, 배포하는 과정을 실행하기 위해 소스 코드 관리 시스템(gitea)과 jenkins 를 webhook 으로 연동하여 코드를 push 하거나 me

innoverse.tistory.com

 

 

감사합니다.


gitea 공식 문서

https://docs.gitea.com/installation/install-on-kubernetes

 

Install on Kubernetes | Gitea Documentation

Gitea provides a Helm Chart to allow for installation on kubernetes.

docs.gitea.com

 

Jenkins 공식 문서

https://www.jenkins.io/doc/book/installing/kubernetes/

 

Kubernetes

Jenkins – an open source automation server which enables developers around the world to reliably build, test, and deploy their software

www.jenkins.io