Jenkins 집단 테스트 환경 원리
코드 창고는 구축의 소재 라이브러리로서 구축에 필요한 코드를 코드 라이브러리에서 얻을 수 있다.
가장 좋은 것은 한 대의 서버가 단독으로 지속적인 집적 서버로서 한편으로는 환경의 순결을 보장하고 한편으로는 개발에 영향을 주지 않으며 지속적인 집적 서버는 일반적으로 수시로 구축을 준비하기 때문에 일반적으로 꺼지지 않는다.
[ , , 。 , 。 , , 。 , 。 , build , 。 , , 、 。]
[ ]
1. , ;
2. 。 , , , ;
3. 。 , 。 , 。
4.
, 。 , 。 , , 。 , 。
[ ]
, ? , :
jenkins
travis
gitlab
buddybuild
,Jenkins , Hudson,04 , , , Jenkins, , , 。
jenkins
1
jenkins , , , 。 Jenkins , , 。—
젠킨스는 어떤 기능이 있나요?
1. 정해진 시간에 코드를 끌어와 컴파일
2. 정적 코드 분석
3. 타이밍 패키지 테스트 버전 발표
4. 달리기 단위 테스트 등 추가 조작 사용자 정의
5. 오류 알림
기본적으로 지속적인 통합 실천 중의 요구와 주변의 일부 실현 조치이다. 예를 들어 알림 기능 등이다. 오류가 발생한 후에 개발자에게 복구를 알린다. Jenkins에서 SMTP 설정 정보(이 일반적인 메일 서비스 제공 업체가 모두 제공), 메일 템플릿 등을 설정하고 이벤트 트리거를 창설하면 이벤트(예를 들어 컴파일 실패)가 발생할 때 신속하게 메일 알림을 개발자에게 보내면 매우 편리하다.
Jenkins는 웹훅, 정시 업데이트 코드 등 다양한 트리거 구축 방식을 가지고 있으며, 트리거 구축 후 사용자 정의 구축 작업을 수행할 수 있으며, 사용자 정의 구축 스크립트를 편집함으로써 거의 모든 구축 작업을 할 수 있다.
그림 이해:
1) 톱니바퀴:java/maven/ant/git/tomcat/jenkins 등 소프트웨어를 톱니바퀴에 비유하면 다음과 같다.
2) 두 소프트웨어가 함께 있으면 다른 소프트웨어를 구동할 수 있다. 아래 그림과 같다.
3) 이 소프트웨어들을 한데 모아 작업하려면 이 소프트웨어는 다른 소프트웨어의 중간에 존재하여 각 소프트웨어의 작업을 구동할 수 있다. 아래 그림과 같다.
4) 제인킨스는 중간에 있는 톱니바퀴와 유사하게 다른 소프트웨어의 통합을 구동하여 함께 작업한다. 아래 그림과 같다.
어떤 블로그의 이해
[뭐지?]
jenkins는 개방적이고 사용하기 쉬운 소프트웨어 플랫폼을 제공하여 지속적인 통합 프로그래밍을 가능하게 하는 소스 소프트웨어 프로젝트이다.그의 전신은hudson으로java개발을 바탕으로 하는 지속적인 통합 도구로 설정에 따라 지속적으로 정기적으로 컴파일하고 해당하는 코드를 실행하여 실행 결과를 메일로 보내거나 보고서로 보여줄 수 있다.
[왜]
Jenkins는 지속적인 집적의 상징적인 도구로서 자연히 지속적인 집적의 많은 장점을 가진다.jenkins는 자동화build를 할 수 있습니다. 만약에 우리가 Jenkins를 성공적으로 구축하면 몇 분에 한 번,정시에 자동build를 설정하고 단원 테스트를 검증할 수 있습니다. 오류가 발생하면 오류 보고서를 프로젝트 모듈 담당자에게 이메일로 보낼 수 있습니다.
[거시적 이해]
먼저 그림을 보고 거시적인 것을 대체적으로 이해한다.
자세한 설명:
메일에 대한 설정도 우리의 개발과 관리를 편리하게 하기 위해 제인킨스는 매우 강하다.
여기까지만 해도'아야야, 망했어, 아직 좀 모르겠어'라는 말은 차라리 그림을 던지는 게 낫다.
git 서버로 Gitlab을 선택했습니다.Gitlab의 기능은 Github와 차이가 많지 않지만 기원된 것이다. 개인git 서버를 구축할 수 있고 매우 강력한 웹 GUI를 제공할 수 있다. 예를 들어 개발자가 서로 리뷰 소스 코드를 제공할 때 매우 편리하다.
시스템의 워크플로우는 다음과 같은 몇 단계로 구성됩니다.
1> 개발자가 새 버전을git 서버(Gitlab)에 push
2> Gitlab 다음에 Jenkins master 결점을 터치하여build을 진행합니다.(웹 훅 또는 시간 측정을 통해)
3>jenkins 마스터 결점은 이build 작업을 등록된 몇 개의 slave 결점 중 하나에 분배합니다. 이 slave 결점은 미리 설정된 스크립트에 따라build을 진행합니다.이 스크립트는 컴파일링, 테스트, 테스트 보고서 생성 등 할 수 있는 일이 많다.수동으로 해야 할 임무는 모두 제인킨스에게 맡길 수 있다.
4>build에서 컴파일하려고 합니다. 분포식 컴파일러distcc를 사용하여 컴파일 속도를 높입니다.
notes
jenkins의 작업 원리는 원본 코드를gitlab에서 로컬로 복사한 다음 설정된 스크립트에 따라build을 하는 것입니다.전체 시스템의 관건은 제인킨스가 통합에서 수행해야 할 임무를 알려주는 데 사용되는build 스크립트임을 알 수 있다.
근데 난 그 다음엔 git 서버로 Github를 썼어.그러나 사실 차이가 많지 않다. 우선 여기까지 이야기하고 중점적인 난점은 나중에 제인킨스의 설치 설정과 사용에 있다.
Jenkins 공식 홈페이지 최신 안정화 버전:https://pkg.jenkins.io/redhat-stable/
1. 다운로드 의존sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
2. 키 가져오기sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
3. 설치yum install jenkins # , 25min
제인킨스 설치 완료.
4. 시작하기 전에 jdk가 설치되어 있는지 확인java # java jdk
5. Jenkins 설치 경로 찾기rpm -ql jenkins
Jenkins 설치 경로
jenkins 관련 디렉터리 설명: (1)/usr/lib/jenkins/:jenkins 설치 디렉터리,war 패키지는 여기에 있습니다.(2)/etc/sysconfig/jenkins:jenkins 프로필, 포트, JENKINS HOME 등을 여기에 설정할 수 있습니다.(3)/var/lib/jenkins/: 기본 JENKINSHOME.(4)/var/log/jenkins/jenkins.log:jenkins 로그 파일.
6. Jenkins 설정 (1) Jenkins 포트 찾기vim /etc/sysconfig/jenkins:set ignorecase/jenkins_port
Jenkins 포트 8080을 찾았습니다.
(2) 추가 포트 사용 확인netstat -ntlp
사용 중인 포트 표시
점용된 포트와 Jenkins 포트 8080이 충돌하지 않으면 다음 단계에 들어가서 Jenkins를 시작할 수 있습니다
(3) 제인킨스 부팅java -jar /usr/lib/jenkins/jenkins.war --httpPort=8080
(4) Jenkins 포트 수정 기본 8080 포트가 사용되지 않으면 포트가 사용되지 않으면 다른 포트로 수정하고 해당 포트를 개방합니다# 8899java -jar /usr/lib/jenkins/jenkins.war --ajp13Port=-1 --httpPort=8899
# java -jar /usr/lib/jenkins/jenkins.war --httpPort=8899
시작 완료
(5) Jenkins가 호스트 브라우저에서 입력할 수 있는지 확인http://IP:Port여기에 입력하십시오:http://192.168.114.128:8080(포트 수정 후 입력:http://192.168.114.128:8899)
Jenkins 복호화 인터페이스에 입장cat /var/lib/jenkins/secrets/initialAdminPassword
암호 가져오기
=>비밀번호 획득=>비밀번호 입력=>계속=>플러그인 설치=>retry 몇 번 설치 성공=>계정 등록(계정 비밀번호 기록)=>Jenkins 사용하기 시작
getting started
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
vue 단일 페이지에 여러 개의 echarts 도표가 있을 때의 공용 코드 쓰기html에서: 데이터 처리는 말할 필요가 없다.응, 직접 그림을 그려: 공통 섹션: 이 페이지를 떠날 때 파괴: 추가 정보: Vue + Echarts 차트 표시 및 동적 렌더링 준비 작업 echarts 의존 설치 n...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.