Jenkins: Jenkins 를 사용 하여 지속 적 인 통합 (CI) 환경 구축
10816 단어 Jenkins
먼저 홈 페이지 http://jenkins-ci.org/ 에서 자바 웹 아 카 이브 (. war) 를 다운로드 합 니 다.
예 를 들 어 저 는 D: \ jenkins \ \ jenkins. war 에 저장 합 니 다.
Jenkins 를 실행 하려 면 JRE 의 지원 이 필요 합 니 다 자바 5 or later
명령 줄 에 입력
java -jar D:\jenkins\jenkins.war
젠 킨 스 를 시작 할 수 있 습 니 다.기본 값 은 8080 포트 에서 실 행 됩 니 다. 다음 그림 과 같이 정상적으로 시작 합 니 다.
우 리 는 브 라 우 저 에 127.0.0.1: 8080 을 입력 하여 볼 수 있 습 니 다. 그림 과 같이 우리 의 Jenkins 가 이미 뛰 기 시 작 했 습 니 다.
SVN 프로젝트 를 Jenkins 와 연결 시 키 는 방법, 업로드 할 때마다 Jenkins 의 자동 구축 을 촉발 시 키 는 방법, 구축 에 실 패 했 을 때 E - mail 로 알림 을 보 내 는 방법 을 보 여 줍 니 다.
만약 에 우리 가 Test 라 는 SVN 프로젝트 가 있다 고 가정 하면 경 로 는 file:///D:/SVNRepository/Test/trunk 이다.
내용
먼저 Job 을 새로 만 들 면 첫 번 째 "자유로운 스타일 의 소프트웨어 프로젝트 만 들 기" 를 사용 합 니 다.
OK 를 누 르 면 자동 으로 설정 인터페이스 로 이동 합 니 다. 초기 화 설정 을 해 야 합 니 다. 물론 이 설정 들 도 후기 에 수시로 수정 할 수 있 습 니 다.
소스 코드 관리 도구 설정
원본 관리 에서 Subversion 을 선택 합 니 다. (SVN 관리 코드 를 사용 하기 때문에 Git 같은 다른 버 전 관리 도 구 를 사용 하면 홈 페이지 에서 해당 하 는 플러그 인 을 얻 을 수 있 습 니 다)
Repository URL 에 SVN 경 로 를 입력 하 는 것 을 제외 하고 file:///D:/SVNRepository/Test/trunk
구축 방법 설정
구축 절 차 를 추가 하려 면 Windows batch 명령 을 실행 하고 입력 하 십시오.
"%VS90COMNTOOLS%..\IDE\devenv.com" "%WORKSPACE%\Test.sln" /Build "Debug|Win32"
devenv. com 은 MSVC 가 제공 하 는 명령 행 구축 도구 입 니 다.
유지보수 에 편리 하도록 명령 을 일괄 처리 파일 에 쓰 고 코드 관리 시스템 에 파일 을 서명 할 수 있 습 니 다. 여기에 일괄 처리 파일 의 경 로 를 적 으 면 다음 에 구축 명령 을 수정 할 때 Jenkins 페이지 를 열지 않 고 일괄 처리 파일 을 직접 수정 할 수 있 습 니 다.
또한 구축 성공 여 부 는 구축 후의 ERRORLEVEL 에 의 해 결정 되 며 0 이 아 닌 것 은 실 패 를 표시 합 니 다. Debug 와 Release 와 같은 여러 설정 버 전 을 동시에 구축 하려 면 모든 버 전이 실 패 했 을 때 구축 을 중단 하고 실패 한 ERRORLEVEL 을 유지 하 는 데 주의해 야 합 니 다.
저장 을 클릭 하면 설정 이 완 료 됩 니 다. 즉시 구축 을 클릭 하면 Jenkins 는 설 정 된 SVN 에서 코드 를 업데이트 하고 구축 명령 을 실행 합 니 다.Build History 에 항목 이 하나 더 있 습 니 다. 구축 에 성공 하면 파란색 태그 가 되 고 구축 에 실패 하면 빨간색 태그 가 됩 니 다.
자동 구축
코드 를 업로드 할 때마다 자동 으로 구축 하려 면 svn 창고 설정 에 hook 을 추가 해 야 합 니 다.
새 D: \ SVNRepository \ \ Test \ hooks \ \ post - commit. bat
이 일괄 처 리 는 매번 commt 에 성공 한 후에 자동 으로 실 행 됩 니 다. 그리고 방금 "즉시 구축" 단 추 를 누 른 하이퍼링크 를 복사 합 니 다. 아래 와 같 을 것 입 니 다.
http://127.0.0.1:8080/job/Test/build?delay=0sec
그 중에서 매개 변수 delay = 0 sec 는 즉시 구축 을 표시 하고 서버 의 압력 을 줄 이기 위해 구축 을 지연 시 키 려 면 delay = 120 sec 같은 것 을 설정 할 수 있 습 니 다.
이제 우 리 는 일괄 처 리 를 이 URL 에 접근 시 키 기만 하면 됩 니 다. 스스로 작은 도 구 를 써 서 실현 할 수 있 고 기 존의 도 구 를 사용 할 수 있 습 니 다. 예 를 들 어 wget. exe 를 사용 하여 이 일 을 할 수 있 습 니 다. 저 는 wget 을 사용 하여 일괄 처리 에 쓰 겠 습 니 다.
%~dp0wget.exe -q http://127.0.0.1:8080/job/Test/build?delay=0sec
wget. exe 를 일괄 처리 와 같은 디 렉 터 리 에 두 었 기 때문에 경 로 는% ~ dp0 을 사 용 했 습 니 다.
OK, 이 제 는 업로드 에 성공 할 때마다 즉시 구축 이 실 행 됩 니 다.
실패 알림
마지막 단 계 는 빌 드 에 실 패 했 을 때의 알림 입 니 다. E - mail 로 알림 을 하려 면 Jenkins 프로젝트 설정 에서 E - mail Notification 을 선택 하고 Recipients 에 알림 을 받 아야 할 E - mail 주 소 를 입력 해 야 합 니 다.
또한 첫 번 째 설정 이 라면 젠 킨 스 의 시스템 관리 - 시스템 설정 에서 SMTP 서버 와 관련 된 내용 을 설정 하 는 것 도 기억 해 야 한다.
홈 페이지 에는 메 일 콘 텐 츠 를 사용자 정의 하 는 플러그 인, 트 위 터 를 올 리 는 플러그 인 까지 제공 된다.
플러그 인: https://wiki.jenkins-ci.org/display/JENKINS/Plugins
추가: 여러 버 전 테이프 자동 테스트 및 붕괴 덤 프 구축 일괄 처리 컴 파일
REM .bat Solution
REM <SolutionFile>、<EXEPath>、<EXEFile>、<PDBFile>
@echo off
"%VS90COMNTOOLS%..\IDE\devenv.com" "%~dp0<SolutionFile>.sln" /build "Release|Win32"
IF %ERRORLEVEL% NEQ 0 goto error
"%VS90COMNTOOLS%..\IDE\devenv.com" "%~dp0<SolutionFile>.sln" /build "Debug|Win32"
IF %ERRORLEVEL% NEQ 0 goto error
REM AutoTest
echo Testing...
cd /d <EXEPath>
<EXEFile>.exe -AUTO_TEST
IF NOT ERRORLEVEL 0 (
echo Test broke with Error^(%ERRORLEVEL%^).
goto dump
)
goto success
:dump
FOR /F "delims=" %%i IN ('dir *.dmp /b') DO (
md %%~ni
echo Dumping to %%~ni
move %%~ni.* %%~ni
copy <EXEFile>.exe %%~ni
copy <PDBFile>.pdb %%~ni
)
:next
goto error
:error
echo Error.
exit 1
goto end
:success
echo Success.
exit 0
goto end
:end
@echo on
추가: 충돌 시 충돌 대화 상 자 를 차단 하고 DUMP 파일 을 생 성 하 는 코드
EasyCrashDump.rar
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
GitLab webhook에서 jenkis 빌드소개 프로젝트 운영으로 자산을 만들 때 jenkins로 빌드하고 있습니다. 이미지 등 git에 push하고 jenkins의 매개 변수를 설정하고 포치 이것만이지만,이 작업을 수행하는 데 매일 상당한 횟수가 있습니다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.