티스토리 뷰

개요

Jenkins Project를 만든다는 것은 빌드의 시작부터 끝까지를 만든다는 것입니다.

예를들어 app을 빌드해서 배포한다고 했을 때 개발이 완료된 코드를 git에 올려 놓는 것까지가 개발이고 git에서 pull을 해서 build한 후 배포까지 하는 것이 하나의 Jenkins Project가 하는 일입니다.

 

 

빌드 노드

jenkins를 설치 하면 빌드를 하는 Built-In Node가 하나 생성이 됩니다. 이 노드에서 빌드 작업이 실행되게 됩니다.

 

Jenkins에서 파이프라인 프로젝트를 만들어 보겠습니다.

New Item을 누릅니다.

Pipeline을 선택하고 프로젝트의 이름을 입력 합니다. 저는 a_app_build_and_deploy 로 했습니다. a_app이라는 앱을 배포한다는 시나리오 입니다.

아래와 같은 화면이 나옵니다.

이 프로젝트에서 해볼 것은 git pull까지 입니다. 다른 설정은 그냥 놔두고 git과 연동만 해보겠습니다.

아래 화면에서 Definition 아래에 있는 항목을 'Pipeline script from SCM'으로 바꿔줍니다.

그리고 SCM아래에 있는 칸을 Git으로 바꿔주면 Repository URL을 입력하는 화면이 나옵니다.

Jenkinsfile

echo "---build start---"

stage('Checkout Stage') {
    echo "---Checkout---"
}

stage('Build Stage') {
    echo "---Build Stage---"
        docker container ls
}

stage('Push Stage') {
    echo "---Push Stage---"
}

Jenkins Pipeline빌드를 하기 위해서는 Jenkinsfile을 만들어 주어야 합니다.

 

위 Jenkins스크립트는 docker container ls 명령어 때문에 빌드중에 에러가 납니다. 에러가 나는 부분을 보고 싶지 않다면 저 줄을 빼고 진행 해주세요.

 

저는 위 Jenkinsfile이 Root(/)에 포함 되어 있는 리포지토리 주소를 넣을 것입니다. 아래 주소입니다.

github.com/Kyeongrok/python_cron

 

위 repository의 구조는 아래와 같습니다.

.
├── Jenkinsfile
├── app
│ ├── dev
│ │ └── Jenkinsfile
│ └── prd
│ └── Jenkinsfile
└── dep

간단 설명을 드려보면 Root인 / 아래에 Jenkinsfile이 있고 app/dev, app/prd각각에도 Jenkinsfile이 있습니다. 이 세가지 Jenkinsfile중 어떤 것을 사용할 것인지는 아래 설정에서 Script Path부분에서 설정 할 수 있습니다.

Repository Url을 넣고 Branch를 선택 해줍니다. 기본값은 master입니다.

그리고 중요한 것은 Script Path입니다. 기본 설정은 git repository의 Root에 있는 Jenkinsfile을 읽어오라는 뜻입니다.

완료 되었으면 'Save'버튼을 눌러서 Jenkins 프로젝트를 생성 해줍니다.

위와 같은 화면이 나오면 완료 된 것입니다.

여기에서 'Build Now'를 누릅니다.

이런 화면이 나옵니다. Build Stage를 하다가 에러가 났습니다.

어떤 에러인지 확인 하기 위해 왼쪽 아래 Build History에서 #1을 눌러봅니다.

그러면 위와 같은 화면이 나옵니다. 'Console Output'을 눌러서 어떤 에러가 났는지 확인 할 수 있습니다.

위와 같은 에러가 났습니다. 스테이지별로 실행이 되다가  docker container ls 를 실행 할 때 에러가 난 것입니다.

docker container ls를 빼고 빌드 하면 Success를 볼 수 있습니다.

 

 

end.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함