환경 - WSL ( Windows Subsystem for Linux ) OS 위에 설치 - Docker 환경 ( Ubuntu 20.4 LTS , Java 8 ) |
CI 툴중 하나인 Jenkins 설치 및 학습을 진행하려 한다.
Docker를 사용하여 각 호스트를 분리하고, 구성하면서 흐름에 대해 알아보자.
예상되는 시나리오는
1) 개발서버 컨테이너에서 코드 작성후 Git Push
2) 해당 Push를 트리거로 Webhook을 통해 젠킨스 컨테이너로 가져옴
3) 해당 내용 운영서버 컨테이너에 반영
간단하게 도커, 깃헙, 젠킨스 연동하는 아키텍처를 구성해보았으며
추후 유닛, 품질테스트 및 Slack을 통한 Notification 단계까지 구현할 예정이다. + 분산 빌드 환경 구축
1. Docker 설치
ㅁ 참조
2021.06.30 - [IT/도커도커] - (1) Ubuntu에 도커 설치하기
※ WSL 에서는 systemctl 명령어로 수행 시, 에러 발생
/etc/init.d로 수행해 주어야한다.
sudo /etc/init.d/docker start
sudo /etc/init.d/docker status
2. Jenkins 를 실행시킬 jenkins_admin 서버 구동
docker run -it -d --name jenkins -p 8080:8080 jenkins
run : 이미지 pull 및 실행
it : 터미널의 입력을 docker로 전달
d : 백그라운드 수행
name : 컨테이너에 이름 부여
p : {port1}:{port2}. 부모 서버의 port1로 오는 요청을, 컨테이너 port2로 포워딩
ㅁ 에러발생
도커 데몬 수행을 위해 /var/run/docker.sock 에 접근했으나 실패한 것으로 보임.
1) Root로 수행하던가
2) 같은 그룹에 넣어주자.
sudo usermod -g docker stadm
ㅁ 에러발생2
이미지를 찾지 못한 것 같다.
docker hub에 들어가, jenkins 공식 이미지를 찾아보니 링크가 걸려있었다.
jenkins/jenkins 로 이미지를 다운받자.
This image has been deprecated for over 2 years in favor of the jenkins/jenkins:lts image |
docker run -it -d --name jenkins -p 8080:8080 jenkins/jenkins
구동 확인
3. jenkins 설정
ㅁ 설치 확인 후, localhost 8080 포트로 들어가보자
도커를 구동할때 8080 포트 포워딩을 해놓아서, 컨테이너의 8080포트를 호출한다.
1) 초기 패스워드 설정
OS 에서 해당 위치의 초기패스워드를 확인해, 웹상에 입력해준다.
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
2) 초기 플러그인 설치
3) 설치 완료 및 어드민 계정 생성
4) 설치 및 세팅 완료
'IT > Jenkins' 카테고리의 다른 글
(2) Git 연동 (0) | 2022.02.27 |
---|