코어 포인트
Jenkins는 복잡한 응용 프로그램의 자동 테스트를 지원하고 배포 전에 오류를 발견하고 해결하여 릴리스 프로세스 속도를 높이는 인기있는 오픈 소스 빌드 서버입니다.
Jenkins 파이프 라인 (버전 2.0에 소개)은 테스트 및 빌딩 코드를 위해 그루비 스크립팅 언어로 작성된 사용자 정의 가능한 단계 세트입니다. 한 단계가 실패하면 전체 빌드가 실패하고 Jenkins는 실행을 중단합니다.
Jenkins는 Laravel Homestead를 사용하여 쉽게 설치하고 구성 할 수 있습니다. 설정이 완료되면 새 빌드 작업을 작성하여 프로젝트의 최신 버전을 확인하고 종속성을 설치하고 단위 테스트를 실행할 수 있습니다. -
Jenkins 파이프 라인은 코드 기반의 루트 디렉토리에서 Jenkinsfile 스크립트로 작성하여 버전 제어를 구현할 수 있습니다. 또한 프로젝트의 다른 지점에서 다른 작업을 실행하기 위해 멀티 브랜치 파이프 라인 작업을 설정할 수도 있습니다.
Jenkins는 플러그인 테스트 및 클라우드 서비스와의 통합을 포함하여 기능을 확장하도록 설치 및 구성 할 수있는 광범위한 플러그인 생태계를 지원합니다. 커밋이 저장소로 푸시 될 때마다 자동으로 구축되도록 구성 할 수 있으며 올바르게 보호해야합니다. -
작곡가 종속성, 웹 팩 빌드 스크립트 및 모든 환경 변수를 포함하여 응용 프로그램이 더욱 복잡해짐에 따라, 우리는 이러한 모든 복잡성을 테스트하는 것이 느리고, 특히 모든 테스트가 전체 환경. 마찬가지로, 코드 스타일은 시간이 지남에 따라 왜곡 될 수 있으며, 제작에 사용할 수있는 배포 아카이브를 작성하려면 특정 단계 세트가 필요합니다. -
응용 프로그램을 테스트한다고 가정하면 다음 단계가 필요합니다.
- run 의존성이 설치되어 있는지 확인하십시오
구문 오류를 확인하기 위해 코드베이스의 각 PHP 파일에서
run
단위 테스트를 위해 phpUnit을 실행하십시오
기능 테스트 - 에 대한 코드 셉션을 실행하십시오
이러한 단계 중 하나라도 실패하면 오류가 해결 될 때까지 소프트웨어가 배포에 적합하지 않은 것으로 간주되어야합니다. 소프트웨어가 더욱 복잡해지고 시간이 지남에 따라 테스트 횟수가 증가함에 따라 전체 테스트 스위트를 실행하는 데 몇 분이 걸릴 수 있습니다.
이 문제를 극복하기 위해 개발 워크 플로우에 빌드 서버를 도입 할 수 있습니다. 빌드 서버는 일련의 단계를 반복적으로 실행할 수있는 소프트웨어를 실행하고 그 중 하나가 실패하면 빌드 서버가 문제를 알릴 수 있습니다. 오픈 소스 프로젝트에 참여한 경우 Travisci 또는 Circleci와 같은 서버를 구축하는 데 실용적인 응용 프로그램을 보았을 수 있습니다. 예를 들어, Laravel 프로젝트에 대한 각 풀 요청은 Travisci에 의해 테스트되어 변경 사항이 테스트를 중단하지 않도록하고 Styleci는 코드 변경이 프로젝트 코드 스타일과 일치하도록합니다.
Jenkins는 올해 버전 2.0을 출시 한 인기있는 오픈 소스 빌드 서버입니다. 이 새로운 릴리스의 주요 기능 중 하나는 (이전 옵션) 파이프 라인 플러그인을 핵심 기능으로 포함시키는 것입니다.
파이프 라인은 코드를 테스트하고 빌드하기 위해 순차적으로 실행할 수있는 일련의 사용자 정의 가능한 단계 세트입니다. 파이프 라인은 그루비 스크립팅 언어로 작성되었으며 매우 간단한 구문이 있으며 시작하기 쉽습니다. 예를 들어, 앞에서 이전에 설명 된 테스트 단계를 파이프 라인으로 설명하려면 다음과 같이 보일 수 있습니다.
성명서는 Jenkins에게 별도의 빌드 노드를 할당하도록 지시합니다 (Jenkins는 단일 서버 모드 또는 멀티 노드 설정으로 실행할 수 있음). 블록에는 여러 단계가 있으며 각 단계는 특정 작업을 수행합니다. Jenkins는 각 단계에서 차례로 실행되며 단계가 실패하면 전체 빌드가 실패하고 Jenkins는 실행을 중단합니다.
이 간단한 예에서 다른 테스트의 추가 단계를 쉽게 추가 할 수 있으며, Jenkins는 성공적이거나 실패한 빌드 슬랙 알림을 보내거나 성공적으로 테스트 된 코드를 게시 브랜치로 푸시하거나 풀 요청을 병합으로 표시하도록 지시합니다.
jenkins를 설치하십시오
Jenkins는 설치가 매우 쉽고이 자습서에서 Laravel Homestead를 사용하여 일관된 가상 환경을 제공하여 Jenkins를 로컬로 사용할 수 있습니다.
첫 번째 단계는 Laravel Homestead를 설치하는 것입니다. 여기에 유용한 가이드가 있습니다. 가상 머신을 시작하고 실행하면 파일의 사이트를 구성 할 필요가 없습니다. node {
stage("composer_install") {
sh 'composer install'
}
stage("php_lint") {
sh 'find . -name "*.php" -print0 | xargs -0 -n1 php -l'
}
stage("phpunit") {
sh 'vendor/bin/phpunit'
}
stage("codeception") {
sh 'vendor/bin/codecept run'
}
}
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
홈스테드 가상 머신을 일어나서 실행 한 후 를 사용하여 로그인하십시오. node
홈스테드에는 필요한 모든 의존성, 즉 Git, PHP 및 Composer가 제공되므로 Jenkins 자체를 설치하면됩니다. Jenkins Debian 패키지 가이드에 이어 다음 단계를 수행해야합니다. node
run <🎜 🎜>. 이 명령은이 저장소의 Jenkins 패키지를 신뢰할 수 있도록 코드 서명 키를 적성에 추가합니다.
다음으로, 패키지 소스 목록은 Jenkins 패키지 저장소에 대해 APTitude를 알 수 있도록 업데이트되어야합니다. <..>를 실행하십시오.
마지막으로 사용 가능한 패키지의 캐시를 업데이트하고 Jenkins를 설치하려면 적성이 필요합니다.node {
stage("composer_install") {
sh 'composer install'
}
stage("php_lint") {
sh 'find . -name "*.php" -print0 | xargs -0 -n1 php -l'
}
stage("phpunit") {
sh 'vendor/bin/phpunit'
}
stage("codeception") {
sh 'vendor/bin/codecept run'
}
}
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
jenkins를 설치하는 데 약 5 분이 걸리며 설치해야 할 많은 종속성이 있기 때문입니다.
jenkins를 설치 한 후 브라우저에서 <🎜
(또는 <🎜 🎜>)과 같은 가상 호스트 URL을 열면 "잠금 해제"라는 페이지가 표시됩니다.
http://192.168.10.10:8080
<<> homestead.app
가상 머신에서 다음 명령을 실행하면 -
를 실행하면 무작위 숫자와 알파벳 문자열이 콘솔에 인쇄됩니다. 브라우저의 텍스트 필드에 문자열을 복사하여 붙여 넣고 계속 누릅니다.
<<>
두 가지 옵션이 표시됩니다. "제안 된 플러그인 설치"를 선택하고 플러그인을 다운로드하여 설치할 때까지 몇 분을 기다립니다.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
<<>
다음 화면에서 관리자 사용자의 세부 사항을 입력하고 "저장 및 완료"를 누릅니다.
<<>
Jenkins가 설치되어 구성되었습니다!
첫 번째 작업을 만듭니다
Jenkins를 설정 한 후 다음을 수행 할 새로운 빌드 작업을 만들 것입니다.
최신 버전의
<🎜 🎜>를 확인하십시오
작곡가 의존성 설치 <🎜 🎜
run phpUnit <🎜 🎜>
새 작업 링크 생성 (또는 새 프로젝트 생성 링크 - 모두 동일하게 수행)을 클릭하십시오.
<<>
<<> 이름을 입력하고 "파이프 라인"을 선택하고 확인을 누릅니다.
이제 작업의 구성 편집기가 표시됩니다. 파이프 라인 섹션으로 스크롤하고 다음 스크립트를 입력하십시오.
< ">"저장 "을 누릅니다. 작업 개요 페이지로 리디렉션되며 몇 초 후에는 작업이 시작됩니다. 시작되지 않으면 왼쪽 메뉴에서 지금 빌드 링크를 클릭하십시오.
<<>
파이프 라인 스크립트에서 정의 할 때 각 위상이 시작되고 종료되면 위상보기가 업데이트됩니다.
무대를 클릭하면 해당 단계의 로그 출력으로 오버레이가 나타납니다. 이는 디버깅에 매우 유용합니다. 또는 왼쪽 메뉴에서 작업을 클릭하고 콘솔을 클릭 할 수 있습니다.
모든 Jenkins 작업에는 자체 작업 공간이 있습니다.이 공간은 빌드 영역에서 필요한 임시 파일을 안전하게 만들 수있는 영역입니다. 이 작업의 작업 공간 위치는 에서 찾을 수 있습니다. 기본적으로 Jenkins는 모든 빌드에 대한이 작업 공간을 지우지 않습니다. 이 작업을 수행 해야하는 경우 다음과 같이 파이프 라인 스크립트의 시작 부분에 위상을 추가 할 수 있습니다.
/var/lib/jenkins/workspace/laravel
jenkinsfile
첫 번째 작업의 경우 작업 설정 인터페이스에서 파이프 라인 스크립트를 편집했습니다. 그러나 코드를 사용 하여이 스크립트를 버전 제어에 저장하는 것이 더 유용합니다. node {
stage("composer_install") {
sh 'composer install'
}
stage("php_lint") {
sh 'find . -name "*.php" -print0 | xargs -0 -n1 php -l'
}
stage("phpunit") {
sh 'vendor/bin/phpunit'
}
stage("codeception") {
sh 'vendor/bin/codecept run'
}
}
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사
Jenkins의 파이프 라인을 사용하여 코드 저장소의 루트 디렉토리에서 Pipeline을 Jenkinsfile 스크립트로 작성할 수 있으며 발견 및 실행됩니다. 그 개념은 이미 익숙 할 수있는 또는 <🎜 🎜> 파일과 유사합니다.
<🎜 🎜> <🎜 🎜> github 프로젝트 페이지에서 오른쪽 상단의 "포크"버튼을 클릭 한 다음 팝업 창에서 프로필을 클릭하십시오.
라는 새 분기를 작성한 다음 새 파일을 만듭니다 (GitHub에서 직접이를 수행 할 수 있으며 필요한 경우 저장소를 복제 할 필요가 없습니다).
<<> .travis.yml
다음 스크립트를 입력하고 파일을 제출하십시오
.circleci.yml
이제 Jenkins로 돌아가서 왼쪽 메뉴에서 "구성"버튼을 클릭하십시오. 파이프 라인 섹션으로 스크롤하고 파이프 라인 스크립트에서 SCM으로 정의 드롭 다운 메뉴를 업데이트하십시오.
<<> laravel/framework
포크 된 저장소의 세부 사항을 입력하고 저장을 클릭하십시오.
<<> jenkinsfile
작업 개요 화면에서 왼쪽 메뉴에서 지금 빌드를 클릭하십시오. 성공적인 빌드가 있어야합니다.
멀티 브랜치 파이프 라인 프로젝트 <🎜 🎜>
위 내용은 Jenkins 재 도입 : 파이프 라인으로 자동 테스트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!