1. 설치 : 나는 MacOS다.
brew install jenkins
2. 실행 : 설치가 다되면 실행한다.
brew services start jenkins
- 설치 이후 http://localhost:8080 로 접속한다.
- 터미널에 적힌 키를 이용하여 첫 접속을 한다. 안적혀있으면 다음 명령어를 터미널에 실행한다.
cat /Users/내컴터유저이름/.jenkins/secrets/initialAdminPassword
- 나오는 키를 입력하고 접속한다.
- 추천하는 플러그인을 설치하고 메인 대시보드를 확인한다.
3. 새로운 작업 생성(Pipeline)
- Jenkins 대시보드에서 "새로운 작업"을 선택하고, "Pipeline"을 선택한 후 작업 이름을 지정한다.
- 작업 설정 페이지에서 "Pipeline" 섹션으로 이동한다.
- "Definition"에서 "Pipeline script"을 선택하고, 파이프라인을 만들기 시작한다.
4-1. 파이프라인
- Jenkins Pipeline은 지속적인 통합 및 배포 프로세스를 자동화하기 위한 스크립트를 작성하는 방법이다.
- Pipeline 스크립트는 "Jenkinsfile"이라는 파일에 작성되며, Groovy라는 프로그래밍 언어로 작성된다.
- Jenkins Pipeline은 Declarative Pipeline과 Scripted Pipeline 두 가지 형태로 작성할 수 있다.
- Declarative Pipeline 문법은 간결하고 구조화되어있어 이해가 쉽다. 더 많이 쓰인다.
4-2. 문법 - 구조
1) 기본 형태
- 이 블록은 파이프라인 구성의 최상위 수준이다.
2) Agent
- agent는 파이프라인 또는 스테이지 수준에서 작업을 실행할 환경을 정의한다.
- agent any를 사용하면 어떤 환경에서든 작업이 실행된다.
3) Stages
- stages 블록은 파이프라인의 여러 단계다. 각 단계는 stage 블록으로 정의되며, 하나 이상의 steps 블록을 포함한다.
4) Steps
- steps 블록은 실제 작업을 정의한다. 작업은 명령어 실행, 스크립트 실행, 테스트 실행 등 다양한 형태가 될 수 있다.
5) Post
- post 블록은 파이프라인이나 스테이지가 완료된 후에 실행할 작업을 정의한다. 다양한 상태에 따라 다른 작업을 수행할 수 있다.
- 예를 들어, always, success, failure, unstable, changed 등의 조건을 사용할 수 있다.
4-3. 문법 - 키워드
1) ehco
- echo는 Jenkins Pipeline 스크립트 내에서 텍스트 메시지를 출력하는 데 사용되는 기본 명령어.
- echo 명령어는 파이프라인 실행 중에 로그에 메시지를 기록할 때 주로 사용된다.
2) def
- 변수를 정의하는 데 사용되는 키워드. 데이터를 저장하고 다른 곳에서 참조하는 데 사용된다.
- def 키워드로 선언된 변수는 로컬 스코프 또는 전역 스코프에 있을 수 있다.
- 사용자 정의 함수를 정의할 수도 있다.
3) sh
- 쉘 명령어를 실행하는 데 사용되는 키워드. sh를 사용하여 파이프라인 작업 중에 필요한 스크립트, 명령어, 도구를 실행할 수 있다.
- sh는 주로 소스 코드의 빌드, 테스트, 배포와 같은 작업을 수행할 때 사용된다.
4) 다른 중요한 키워드들
- dir : 작업을 수행할 디렉토리를 변경하는 데 사용
- checkout : 소스 코드를 저장소에서 가져오는 데 사용
- archiveArtifacts : 빌드 결과물을 저장하고 관리하는 데 사용. 특정 파일 또는 디렉토리를 보관할 수 있다.
- timeout , credentials, retry, input 등등이 있다.
'개발 방법론 > DevOps의 개념' 카테고리의 다른 글
[DevOps] 도구와 기술 - 2 (0) | 2023.04.13 |
---|---|
[DevOps] 도구와 기술 (0) | 2023.04.11 |
[DevOps] CI(지속적인 통합, Continuous Intergration) (0) | 2023.04.10 |
[DevOps] 용어정리 : 인프라스트럭쳐, 프로비저닝 (0) | 2023.04.07 |
[DevOps] DevOps의 이해 (0) | 2023.04.07 |
댓글