Cộng đồng Hỏi & Đáp của Inflearn
gitlab-ci.yml과 CI/CD 파이프라인 까지 수강중입니다.
Đã giải quyết
Viết
·
76
0
1. 무엇을 하고 싶으신가요?
현재 ocp 로 구축된 서버가 있는데 , 이 서버에 gitlab을 컨테이너로 올려서 구축후에 테스트해보고 싶습니다.
2. 언제, 어떤 오류가 발생하시나요?
3. 어떤 시도를 해보셨나요?
4. 작성한 코드를 공유해주세요.
Quiz
지속적 배포(Continuous Deployment)가 지속적 전달(Continuous Delivery)과 가장 구분되는 핵심 특징은 무엇일까요?
자동화된 빌드 및 테스트 과정 유무
프로덕션 환경으로의 배포 자동화 여부
코드 변경사항의 빈번한 통합 여부
버전 관리 시스템 사용 여부
Câu trả lời 2
0
안녕하세요. 구축 환경 상태를 제가 알 수가 없어서 매우 간단하게 쉘스크립만 제공해드려 봅니다.
GITLAB_PORT="80"
GITLAB_VERSION="latest"
GITLAB_HOME="/srv/gitlab"
# Update system and install Docker
echo "Installing Docker..."
yum update -y
yum install -y docker
# Start Docker service
echo "Starting Docker service..."
systemctl start docker
systemctl enable docker
# Add ec2-user to docker group
usermod -aG docker ec2-user
# Create GitLab directories
echo "Creating GitLab directories..."
mkdir -p $GITLAB_HOME/{config,logs,data}
docker run --detach \
--hostname "$INSTANCE_IP" \
--publish $GITLAB_PORT:80 \
--name gitlab \
--restart always \
--volume $GITLAB_HOME/config:/etc/gitlab \
--volume $GITLAB_HOME/logs:/var/log/gitlab \
--volume $GITLAB_HOME/data:/var/opt/gitlab \
--shm-size 256m \
gitlab/gitlab-ce:$GITLAB_VERSION
echo "===================================="
echo "GitLab Docker Setup Completed: $(date)"
echo "===================================="
echo "GitLab will be available at: http://$INSTANCE_IP:$GITLAB_PORT"
echo "Initial setup may take 3-5 minutes..."
echo ""
echo "To get the initial root password:"
echo " docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password"
echo ""
echo "To check GitLab logs: docker logs -f gitlab"서버에서 위와 같이 입력하면 gitlab을 띄울 수 있습니다.
https, 운영 레벨 설정 등은 환경마다 그리고 정책마다 다를 수 있어서 이 정도로만 제공드리는 점 양해 부탁드립니다.
감사합니다.
천강민 드림.
0
안녕하세요, 인프런 AI 인턴입니다. happymydog님.
OCP(OpenShift Container Platform) 환경에서 GitLab을 컨테이너로 배포하고 싶으시군요. OpenShift를 사용하여 GitLab을 배포하는 것은 가능하지만, 일부 설정이 필요할 수 있습니다.
OpenShift에서 GitLab 배포하기
GitLab 컨테이너 이미지 준비: GitLab은 공식 Docker 이미지를 제공합니다. OpenShift에서 사용할 수 있도록 필요한 이미지를
dockerhub에서 가져와야 합니다.- GitLab Docker 이미지를 참조하여 컨테이너 이미지를 준비하세요.
- GitLab Docker 이미지를 참조하여 컨테이너 이미지를 준비하세요.
Persistent Storage 설정: GitLab은 데이터를 지속적으로 저장해야 하기 때문에 Persistent Volume Claim(PVC)을 사용하여 데이터를 보존합니다. OpenShift에서 PVC를 설정하여 데이터를 유지하세요.
GitLab 컨테이너 배포:
”`yaml
apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
name: gitlab
spec:
replicas: 1
selector:
app: gitlab
template:
metadata:
labels:
app: gitlab
spec:
containers:
- name: gitlab
image: gitlab/gitlab-ce:latest
ports:
- containerPort: 80
volumeMounts:
- name: gitlab-storage
mountPath: /var/opt/gitlab
volumeClaimTemplates:- metadata:
name: gitlab-storage
spec:
accessModes: [ “ReadWriteOnce” ]
resources:
requests:
storage: 10Gi
”`
위와 같은 설정 예시는 GitLab을 OpenShift에 배포하기 위한 기본적인 템플릿 구성입니다. 환경에 맞게 변경해야 합니다.- metadata:
외부 접속 설정: OpenShift의 Route 기능을 사용하여 외부에서 GitLab에 접속할 수 있도록 합니다.
Security Context 설정: OpenShift는 보안 정책으로 인해 컨테이너 내부의 root 권한 사용을 제한할 수 있습니다. 필요에 따라
SecurityContextConstraints(SCC)를 설정하세요.
이러한 설정을 통해 OCP에서 GitLab을 성공적으로 실행할 수 있을 것입니다. 각 환경에 맞는 구체적인 설정이 필요할 수 있으니 공식 문서나 관련 자료를 참고하여 세부 조정을 하세요.
저는 질문자님의 이해를 돕고자 유사한 설명과 구조를 제공해드리고 있습니다. 아직 개선 중인 기능으로, 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






참고로 기본 ID는 root입니다.