내 잡다한 노트
Jenkins의 Scripted Pipeline에선 Groovy만 되는건가요? 본문
Jenkins의 Scripted Pipeline은 Groovy 언어를 기반으로 작성됩니다. Scripted Pipeline은 Jenkins Pipeline의 저수준 구문으로, Jenkins가 Groovy를 사용하여 동작하기 때문에 Scripted Pipeline은 Groovy로 작성해야 합니다.
왜 Groovy만 사용 가능한가?
- Jenkins의 내부 구현이 Groovy 기반
- Jenkins는 내부적으로 Groovy를 기반으로 동작하며, Scripted Pipeline은 이를 직접 활용하는 방식입니다.
- Groovy는 JVM 기반
- Jenkins는 Java 기반으로 동작하며, Groovy는 JVM(Java Virtual Machine) 위에서 실행되므로 호환성이 뛰어납니다.
다른 언어를 사용할 수 없는 이유는?
- Jenkins는 기본적으로 Groovy를 인터프리터로 사용하므로, 다른 언어를 Scripted Pipeline에서 직접 사용할 수 없습니다.
- 하지만 Jenkins 파이프라인 내에서 다른 언어로 작성된 스크립트를 호출하는 것은 가능합니다.
다른 언어를 활용하려면?
다른 언어를 직접 사용하기는 어렵지만, Jenkins 파이프라인에서 외부 스크립트를 호출하거나 명령어를 실행할 수 있습니다.
(1) Shell Script 사용
- Groovy 스크립트 안에서 Shell 스크립트를 실행하여 Bash, Python, Node.js 등을 호출할 수 있습니다.
예: Bash 스크립트 호출
node {
stage('Run Shell Script') {
sh '''
echo "Running a bash script"
ls -al
'''
}
}
(2) Python Script 호출
- Python 스크립트를 실행하여 작업을 수행할 수 있습니다.
예: Python 실행
node {
stage('Run Python Script') {
sh '''
python3 -c "print('Hello from Python!')"
'''
}
}
Declarative Pipeline도 Groovy 기반인가요?
- 네, Declarative Pipeline도 Groovy를 기반으로 합니다.
- 그러나 Declarative Pipeline은 Groovy의 제한된 하위 집합으로 작성되며, 구조화된 고수준 구문을 사용합니다.
Scripted Pipeline은 Groovy의 모든 기능을 사용할 수 있지만, Declarative Pipeline은 문법이 제한되어 있어 더 간단하고 안정적인 파이프라인을 작성하는 데 적합합니다.
'DevOps > Jenkins' 카테고리의 다른 글
Jenkins의 Organization Folers (0) | 2024.12.16 |
---|---|
Declarative pipeline과 Scripted pipeline의 비교 (0) | 2024.12.13 |
Jenkinsfile 이란? (0) | 2024.11.27 |
Jenkins New item 페이지 (0) | 2024.11.24 |
Jenkins agent (0) | 2024.11.24 |