01. 젠킨스
0) 젠킨스란?
1) 자바 설치
dnf install java-11-openjdk-devel #centos
sudo apt-get install openjdk-11-jdk #ubuntu
2) 레포지토리 추가
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
cd /etc/yum.repos.d/
curl -O https://pkg.jenkins.io/redhat-stable/jenkins.repo
3) 젠킨스 설치
dnf install jenkins
4) 젠킨스 포트 변경
vi /usr/lib/systemd/system/jenkins.service
Environment="JENKINS_PORT=8080" 를
Environment="JENKINS_PORT=9090" 으로 변경
systemctl daemon-reload
systemctl restart jenkins
02. git & github
1) git
(0) 깃 설치
https://git-scm.com/downloads
(1) 깃이란?
Git이란 소스코드를 효과적으로 관리하기 위해 개발된 '분산형 버전 관리 시스템'
Git에서는 소스 코드가 변경된 이력을 쉽게 확인할 수 있고
특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수도 있다.
또 내가 올리려는 파일이 누군가 편집한 내용과 충돌한다면
서버에 업로드 할 때 경고 메시지가 발생함.
(2) 저장소
저장소(Git repository)란 말그대로 파일이나 폴더를 저장해 두는 곳
그런데 Git 저장소에서는 파일이 변경 이력 별로 구분되어 저장됨
비슷한 파일이라도 실제 내용 일부 문구가 서로 다르면 다른 파일로 인식하기 때문에
파일을 변경 사항 별로 구분해 저장 가능
평소에는 내 PC의 로컬 저장소에서 작업하다가 작업한 내용을 공개하고 싶을 때에 원격 저장소에 업로드
물론 원격 저장소에서 다른 사람이 작업한 파일을 로컬 저장소로 가져오는 것도 가능
[1] 저장소의 종류
로컬 저장소 : 내 PC에 파일이 저장되는 개인 전용 저장소, git 관련 파일이 생성되어 있는 특정 폴더
원격 저장소 : 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소
대표적으로 github, Backlog와 같은 저장소가 있다.
[2] 로컬 저장소 생성
폴더 생성 -> 폴더로 이동 -> 우클릭 -> git으로 열기 -> git init
(3) 버전 관리
[0] 계정 설정
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
[1] 현재 상태 확인
git status
[2] 변경 사항 확인
git diff
[3] 버전 관리할 파일 추가
git add 파일이름
[4] 버전 저장
git commit -m "메시지"
[5] 되돌리기
git reset --soft 커밋내역 최신 파일 유지
git reset --hard 커밋내역 최신 파일 사라짐
2) github
(1) github란?
깃허브(Github)는 분산 버전 관리 툴인 깃(Git)를 사용하는 프로젝트를 지원하는 웹호스팅 서비스
git으로 관리하는 프로젝트를 업로드하거나 공유할 수 있는 인터넷 저장소
(2) git으로 관리하는 프로젝트 github에 저장하기
[1] 원격 저장소 확인
git remote -v
git remote show 원격 저장소 이름
[2] 원격 저장소 설정
git remote add 원격저장소이름 원격저장소주소
ex) git remote add origin https://github.com/본인계정/tutorial
[3] 원격 저장소에 공유
git push origin master
2) git과 젠킨스 연동
[0] 젠킨스 설치된 컴퓨터에 git 설치
yum install git
[1] github 접근 토큰 생성
github에 오른쪽 상단 계정 -> settings -> Developer settings -> Personal access token -> Tokens(classic) -> Generate new token -> Generate new token(classic)
이름 입력 -> repo 체크, admin:repo_hook 체크 저장 -> 키는 반드시 복사해둘 것
[2] 젠킨스에서 api key 생성
젠킨스 대시보드 -> 사용자 프로필 -> 설정 -> API Token에서 Add new Token클릭 후 아무 이름이나 입력 -> 토큰 복사 -> save
[3] github 웹훅 설정
github에 레포지토리 생성하고 setiings에서 webhook 설정
http://[내아이피주소:젠킨스포트]/github-webhook/
secret 부분에 2번에서 생성한 key 입력
[4] 파이프라인 생성
새로운 Item -> 이름 입력 -> Freestyle -> OK -> GitHub project 체크 -> 소스 코드 관리에서 Git 체크 -> 레포지토리 주소 입력
-> 빌드 유발에서 GitHub hook trigger for GITScm polling 체크 -> Build Steps에서 Add build step 클릭 후 Execute shell클릭 후 echo test 입력 -> 저장
[5] 깃으로 푸시
로컬 저장소에서 git push로 원격 저장소에 commit 내역 저장
참고자료
더보기
https://honeyinfo7.tistory.com/293
1) 젠킨스 설치
(1) 자바 설치
dnf install -y java-11-openjdk-devel
(2) 레포지토리 추가
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
cd /etc/yum.repos.d/
curl -O https://pkg.jenkins.io/redhat-stable/jenkins.repo
(3) 젠킨스 설치
dnf install jenkins
(4) 젠킨스 포트 변경
vi /usr/lib/systemd/system/jenkins.service
Environment="JENKINS_PORT=8080" 를
Environment="JENKINS_PORT=9090" 으로 변경
systemctl daemon-reload
systemctl restart jenkins
(5) 대시보드 접속
cat /var/lib/jenkins/secrets/initialAdminPassword 으로 초기 패스워드 확인 및 대시보드에 접속해서 입력
Install Suggested plugins
2) git과 젠킨스 연동
[0] 젠킨스 설치된 컴퓨터에 git 설치
yum install git
[1] github 접근 토큰 생성
github에 오른쪽 상단 계정 -> settings -> Developer settings -> Personal access token -> Tokens(classic) -> Generate new token -> Generate new token(classic)
이름 입력 -> repo 체크, admin:repo_hook 체크 후 Generate token -> 키는 반드시 복사해둘 것
[2] 젠킨스에서 api key 생성
젠킨스 대시보드 -> 사용자 프로필 -> 설정 -> API Token에서 Add new Token클릭 후 아무 이름이나 입력 -> 토큰 복사 -> save
[3] 젠킨스에 github 키 등록
젠킨스 대시보드 -> Jenkins 관리 -> 시스템 설정 ->GitHub에서 Add GitHub Servers 클릭 후 Github Server -> Name 적당히, Add 클릭 -> Jenkins
-> Kind: Secret text, Secret: [1] 에서 복사한 키 넣기, ID는 적당히 입력 후 Add 버튼 클릭 -> Credentials에서 추가한 것 선택 -> Test Connection 클릭 -> 저장
[4] github 웹훅 설정
github에 레포지토리 생성하고 setiings에서 webhook 설정
http://[젠킨스IP]:[젠킨스PORT]/github-webhook/
secret 부분에 2번에서 생성한 key 입력
[5] 파이프라인 생성
새로운 Item -> 이름 입력 -> Freestyle -> OK -> GitHub project 체크 -> 소스 코드 관리에서 Git 체크 -> 레포지토리 주소 입력
-> 빌드 유발에서 GitHub hook trigger for GITScm polling 체크 -> Build Steps에서 Add build step 클릭 후 Execute shell클릭 후 echo test 입력 -> 저장
[6] 깃으로 푸시
로컬 저장소에서 git push로 원격 저장소에 commit 내역 저장
728x90
반응형