사전 준비
작업 환경
docker pull jenkins/jenkins:lts
docker run -d -p 8081:8080 -v /Users/jiyaaany/Documents/Jenkins:/var/jenkins_home --name jenkins -u root jenkins/jenkins:lts
컨테이너 ID 가 반환되었다면 성공! 👍🏻
docker start jenkins
docker attach jenkins
Administrator password 는 젠킨스 컨테이너 실행 시 확인 가능
Install suggested plugins: 권장 플러그인들을 포함해 설치
젠킨스 설치가 끝나면 초기 유저를 세팅하는 화면으로 이동됩니다.
아래 화면이 떴다면 설치가 잘 된 상태 👀
이제 깃허브와 Jenkins 연동을 해볼겁니다!
깃허브에 새로 push 되었을 때 Jenkins에서 테스트를 거쳐 서버에 배포하기까지의 작업을 설정해보겠습니다.
Dashboard > New Item 메뉴에서 이름을 설정하고 Multibranch Pipeline 로 선택
다음 화면으로 넘어가 Git 리포지토리 URL 을 연결해줄게요 ➰
리포지토리 URL 입력 후 Credentials Add 버튼을 누르면 아래와 같이 사용자 인증을 위한 창이 뜹니다. 개인 프로젝트일 경우 간편하게 Username with password 로 인증 설정을 해줍니다.
Credentials 설정 중 아래와 같은 에러를 마주친다면, Github에서 새로운 token을 발급받아 토큰 인증을 해줍니다. 사용자 인증 정보를 세팅하고 나면 Credentials 셀렉트 박스에서 방금 입력한 정보를 선택할 수 있습니다.
하단의 save 버튼을 누르게 되면 자동으로 리포지토리 스캔을 실행합니다. 아래 Checking branches... 이후 본인의 원격 브랜치들을 잘 스캔했는지 확인하고, SUCCESS 문구를 확인했다면 리포지토리와 잘 연결됐다고 보시면 됩니다 😊
프로젝트에 Jenkinsfile 이라는 이름으로 파일 하나를 생성해뒀습니다. 구조는 아래를 참고하셔서 각 stage 별 수행해야할 코드를 작성합니다. (젠킨스 연동 테스트라 test stage 가 비어있는 점 참고해주세요.)
node {
agent any
stages {
stage("build") {
steps {
sh 'pip install -r requirements.txt'
}
}
stage("test") {
}
}
}
이렇게 젠킨스와 리포지토리를 연결해보았는데요. 첫 연동이라 미흡한 점이 많으니 더 좋은 방법이 있다면 코멘트 부탁드립니다! 🙏🏻