Jenkins 집단 테스트 환경 원리

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

좋은 웹페이지 즐겨찾기