Jenkins가 명령을 실행해 줍니다
발행: (2026년 2월 6일 오전 09:06 GMT+9)
3 min read
원문: Dev.to
Source: Dev.to
Before Jenkins
- 엔지니어가 명령을 수동으로 실행
- 단계들을 잊음
- 실수를 함
- 신뢰할 수 있게 반복할 수 없음
With Jenkins
- 명령을 한 번만 작성
- Jenkins가 매번 동일하게 실행
- 누구나 Build Now 를 클릭할 수 있음
🛠 Task Rules (IMPORTANT)
- ❌ 복사·붙여넣기 금지
- ✅ 학생이 각 줄을 직접 입력
- ✅ 각 줄을 입력한 뒤, 존재 이유를 설명
🧩 Step 1: Create Freestyle Job
- Jenkins 열기
- New Item 클릭
- Job name:
devops-first-script입력 - Freestyle project 선택
- OK 클릭
🧩 Step 2: Add Shell Build Step
- Build 로 스크롤
- Add build step 클릭
- Execute shell 선택
✍️ Step 3: Write This Script (Line by Line)
# Line 1: simple output
echo "Hello from Jenkins"
# echo prints text – proves Jenkins can execute commands
# Validation: who am I?
whoami
# Shows which user Jenkins runs as – important for permissions
# Show current directory
pwd
# Shows where Jenkins runs (workspace), not your home folder
# List workspace contents
ls
# Workspace starts empty – useful before cloning repos
# Create a file
echo "This file was created by Jenkins" > jenkins.txt
# Demonstrates that Jenkins can create artifacts
# Display the file
cat jenkins.txt
# Confirms the file exists and its content
# Final log message
echo "Script completed successfully"
- Explanation: 각 명령을 직접 입력하여 기본 쉘 작업을 보여주고, Jenkins 환경을 확인하며, 아티팩트(
jenkins.txt)를 생성합니다. 마지막echo는 성공적인 완료를 명확히 표시하는 로그 마커 역할을 합니다.
- Save 클릭
- Build Now 클릭
- Console Output 열어 결과 확인
✅ What Should Be Seen
- 텍스트 출력 (
Hello from Jenkins) - 사용자 이름 (
whoami출력) - Jenkins 워크스페이스 경로 (
pwd출력) jenkins.txt가 생성되었음 확인- 파일 내용 표시 (
cat jenkins.txt)
Concepts
| Concept | Meaning |
|---|---|
| Jenkins job | 자동화 작업 |
| Workspace | 안전하게 실행되는 디렉터리 |
| Shell step | 실제 Linux 명령 |
| Logs | 디버깅용 소스 |
| Repeatability | 매번 동일한 결과 |
Mandatory Failure Example
exit 1
- Question: “무슨 일이 일어날 것이라고 생각하나요?”
- Result: 빌드가 RED 로 표시됩니다. Jenkins가 중단되고, 이후 단계는 실행되지 않습니다.
- Explanation:
exit 1은 실패를 의미합니다. Jenkins는 종료 코드를 신뢰하기 때문에, 실패 코드는 배포를 차단할 수 있습니다. 이는 *Jenkins는 “멍청하지만 정직하다”*는 원칙을 보여줍니다. 실제 DevOps 상황을 반영한 예시입니다.