| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 럼바우 모델링
- 라우트
- 후보키
- 다이나믹 프로그래밍
- NUI
- 동적 모델링
- CORS
- 슈퍼키
- 타디션프로젝트
- 유일성
- C언어
- arrays.sort
- 튜플
- 기능 모델링
- 릴레이션 인스턴스
- 유효성
- 소수판정
- route
- ''
- 객체지향설계원칙
- new Comparator
- ``
- 카디널리티
- #v-on:click
- vue
- ""
- 백틱
- 객체 모델링
- 포인터
- 최소성
- Today
- Total
TY_Daily
젠킨슨 최종 정리 -1 본문
- 들어가기에 앞서 젠킨슨은 찾아보면 알겠지만 정말 방법이 다양하다! 그래서 내가한게 사용자에게 잘 안맞을수 있으니 그건 참고해주시면 바람
- 현재 정리한것 까지가 https 정리 전까지니 그걸 참고 해주시면 감사하겠습니다!

일단 대충 이런 방식으로 ! 운행된다고 생각하면 쉬움!
- 일단 도커를 설치 해야한다!
- 먼저 apt-get install, update 실시!
- 도커설치 (공식문서)
$ sudo apt-get update
$ sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
그다음 도커 설치!
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
도커 설치 확인!
$ sudo docker run hello-world
- Jenkins 도커 설치
- 여기서 다른건 중요한거 보다! -v 는 볼륨이야 여기서 docker.sock 을 한 이유가 젠킨슨 컨테이너 안에서 도커를 사용하기 위함이야!!!!
sudo docker run -d -p 8080:8080 -v /home/ubuntu/jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock --name jenkins jenkins/jenkins:jdk21
여기서 --name이나 -p(포트번호 : 을 기준으로 앞에는 내 로컬에서 사용할 포트번호 뒤에 번호는 도커에서 연결할 포트번호이다!) jenkins버전은 자기가 원하는걸로 설치하면 된다! (나는 jdk21, 포트번호 8080으로 설정 연결 폴더)
- Dood Docker out of Docker로 진행하면서 도커 내에서도 도커 명령어를 입력하기 위해 다음과 같은 명령어 사용!
<주의!> 그래도 도커 안에 도커는 설치 안해도 도커 클라이언트은 설치해야한다 (cli!) docker ps -a 를 통해 docker exec 명령어를 통해 docker 컨테이너 속으로 접속!
[docker cli 설치 참고 url] 도커 버전을 확인후 (로컬 docker 버전) 아래 명령어 입력 (도커 컨테이너 안에서!!!! 아래 도커 명령어 입력!)
DOCKER_VERSION=27.1.1
curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-$DOCKER_VERSION.tgz | tar zxvf - --strip 1 -C /usr/local/bin docker/docker
- whoami 명령어를 통해 전킨슨의 사용자가 jenkins인것을 확인할수 있었다!
- docker group 안에 jenkins 사용자의 권한을 부여하는것으로
sudo groupadd docker
sudo usermod -aG docker jenkins
newgrp docker
docker restart 젠킨슨 컨테이너
- 이렇게 해도 안됬는데 그이유는 Docker 소켓의 권한이 변경되지 않아서다!
- 해답으로는 아래 명령어를 통해 Docker 소켓의 권한을 변경하는 것이다!!!! (로컬에서 진행해도 됬었음!)
sudo chmod 666 /var/run/docker.sock
* Dockerfile 생성
- 이번 서버 초기화 후 CI/CD 구축에 Dockerfile을 통한 구축을 진행하였다!.
sudo docker ps 명령어를 통해 도커가 실행되는것을 보면 컨테이너가 실행되고 있음을 확인할수 있을것이다.
컨테이너가 실행되고 있다면 {IP주소}:포트번호 이렇게 주소창에 들어가면 다음과 같은 페이지가 있을 것이다. 패스워드는 젠킨스 실행했다면 cmd 창에서 확인할수 있을것이다.

- 이렇게 비밀 번호 창이 나올껀데 만약에 처음 cmd 창에서 발견하지 못했다면 ? 도커(젠킨슨) 안에 들어가서 비밀번호를 확인해야함!
// jenkins 컨테이너에 접속
$ sudo docker exec -it jenkins bash
// 초기 관리자 키 확인
$ cat /var/jenkins_home/secrets/initialAdminPassword
docer exec 명령어나 여러가지를 통해 확인할수 도커안에서 파일을 확인할수 있을것이다.


(웬만하면 다설치되어야함!)
- 새로운 아이템가면 Free Style 과 Pipeline이 보일꺼야!
- 장단점에 대해 서술
| 장점 | ||
| Freestyle 방식 | 1. 웹 기반의 GUI를 통해 플러그인 쉽게 가능! | 1. CI 파이프라인 변경 사항을 위해서는 젠킨스에 로그인해 각각의 프리스타일 설정 변경해야함 2. CI/CD 과정을 콘솔을 통해서만 확인 가능 3. 전체 과정에 대한 확인 및 피드백 힘듬! |
| Pipeline 방식 | 1. 파이프라인은 코드로 프로젝트 설정을 할수 있어 프리스타일과 다르게 젠킨스 웹에 직접 접근없이 변경 가능(물론 웹을 통한 변경도 가능!) 2. CI/CD 파이프라인 설정을 하나의 스크립트 파일(Jenkinsfile)을 통한 프로그래밍 제어 및 흐름제어 가능! 3. 버전 관리 가능! 4. GUI를 통한 과정 실행및 시간 확인 가능! |
1. 스크립트 코딩이 쉽지 않음! |
- 나는 Pipeline 방식으로 진행될 예정!


아래 파이프라인 스크립트 설정하는 방법은 2가지가 있어!
첫번째(Pipeline script)는 젠킨스 웹 내에서 스크립트를 작성하여 관리하는 방식이고
두번째 (Pipeline script from SCM) 는 프로젝트 내에서 Jenkinsfile에 스크립트를 작성하여 관리하는거야!
그리고 이 스크립트를 작성할수 있는 타입은 2가지야! Declative Pipeline 과 Scripted Pipeline [공식문서]
일단 Pipline script를 다음과 같이 작성하고 저장을 누르면 오류가 생겨!
pipeline{
agent any
stages{
stage('Checkout'){
steps{
git branch: 'master',
url: "https://lab.ssafy.com/s11-webmobile3-sub2/S11P12D101.git"
}
}
}
}
<오류> Git 리포지 토리 에러야 즉 Git 에서 내가 접근하기 위한 권한이 필요한데 그게 없다는거야!




'SSAFY프로젝트' 카테고리의 다른 글
| 젠킨슨 최종 정리 -3 (1) | 2024.10.17 |
|---|---|
| 젠킨슨 최종 정리 -2 (4) | 2024.10.15 |
| 젠킨슨 공통2 (0) | 2024.10.10 |
| 젠킨슨 백업 (0) | 2024.08.07 |
| Jenkins를 이용한 CI/CD 구축하기 -4 (백엔드 build & 배포 성공) (0) | 2024.08.02 |