728x90
(1) configure & Jenkinsfile
(2) Pytest & Docker Image Build
[Jenkins] Pipeline 구성 (2) Pipeline & lint
1. 파이프라인 생성
빌드를 하기 위해선 파이프라인을 먼저 생성해줘야한다.
대시보드에서에서 새로운 Item을 클릭한 후 이름을 입력 하고 Pipeline을 선택
빌드유발은 Github webhook을 통해서 push 이벤트가 발생했을 시 트리거되도록 설정한다.
아래 사진과 같이 파이프라인을 스크립트로 작성을 해도 되지만
나는 Git에 있는 Jenkinsfile을 불러오도록 구성을 했다.
Pipeline script from SCM을 선택해준 후 저장소 URL을 입력하고 인증 정보를 선택한다.
빌드를 할 소스코드가 있는 branch와 jenkinsfile 스크립트를 path를 작성해준다.
먼저 테스트를 해보자.
아래 jenkinsfile을 저장소에 푸쉬하면
pipeline {
agent any
stages() {
stage('build') {
steps {
sh 'echo "test"'
}
}
}
}
Git 저장소에 Push 이벤트가 발생했기 때문에, 자동으로 빌드가 시작된다.
아웃풋을 확인해보면 test가 잘찍힌 모습을 확인할 수 있다.
2. Pytest
파이썬 모듈 설치를 위한 pip와 가상환경 venv가 Jenkins 서버에 설치가 되어있어야 한다.
sudo apt install python3-pip python3.10-venv -y
파이썬 파일을 가상환경에서 실행하기 위해 Pyenv Pipeline 플러그인을 이용한다.
pipeline {
agent any
stages() {
stage('lint') {
steps {
withPythonEnv('python3'){
sh 'if [ -f requirements.txt ]; then pip install -r requirements.txt; fi'
sh 'pip install flake8'
sh 'python3 -m flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics'
sh 'python3 -m flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics'
}
}
}
}
}
위와 같이 작성 후 Push를 해주면 자동으로 build가 된다.
로그를 확인하면 코드 분석을 완료한 모습을 볼 수 있다.
참조
https://stackoverflow.com/questions/59542130/execute-pytest-using-pipeline-in-jenkins
반응형
'💽 CICD > Jenkins' 카테고리의 다른 글
[Jenkins] Execute Shell 사용하기 (0) | 2023.10.26 |
---|---|
[Jenkins] Pipeline 구성 (3) Docker Image ECR에 Push (0) | 2023.08.08 |
[Jenkins] Pipeline 구성 (1) configure & Jenkinsfile (0) | 2023.08.02 |
[Jenkins] 관리자(admin) 암호 재설정 (0) | 2023.08.01 |
[Jenkins] 우분투(Ubuntu) 22.04에 젠킨스 설치 (0) | 2023.07.26 |