Jenkins 어렵네요....;
CI/CD에 관심이 생겨서 공부할겸, 포트폴리오용 웹페이지 만들어서 돌릴겸.
처음 써보지만 아무튼 jenkins라는걸 써보려 했습니다.
꽤 쓸만한 CI/CD 툴이라더군요.
일단 배포할 웹페이지조차 없으니 CI부터 만들어보려했습니다.
웹페이지는 django기반으로 만들 생각이고,
proxmox에 jenkins 서버를 올리고 깃헙 develop 브렌치에 머지하면 해당 브랜치에서 코드를 땡겨와
자동으로 프로젝트에 있는 dockerfile을 빌드하고 푸시하게 만드는게 목표입니다만...
---------
1. alpine 도커 LXC 생성하고 그 위에서 jenkins 컨테이너 생성
-> 컨테이너 안에서 docker 접근이 안됨 (이미지 빌드하려면 필요함)
-> compose.yml 파일 안에 command: 로 docker cli설치
-> 컨테이너가 10초마다 뻗음
-> 비슷한 다른 방법들을 구글링해서 나오는대로 전부 사용해봄 (안됨)
-> 결국 jenkins 이미지 기반으로 도커 설치한 새 이미지 빌드 !!(해결!)!!
2. 깃허브와 도커허브 연동
-> 여기 저기 블로그마다 조금씩 다름
-> 토큰 생성해서 연동시킴
---------
여기까지 하는데 3-4시간 걸렸네요.
원활한 서버 업데이트를 위하여 가능하면 jenkins 공식 이미지 그대로 빌드하고 싶었는데...
jenkins 업데이트 될때마다 이제 제가 직접 이미지 빌드를 해주어야 겠군요...
아무튼 직접 빌드가 귀찮아서 미루고 미루다 저걸로만 3-4시간 거의 다썼네요.
다행히 jenkins 내에서 docker 명령어 잘 돌아가게 까지 했습니다.
피곤하네요... 게다가 시간이 시간인지라 졸립니다...
나머지는 일어나서 마저 할까 합니다.
이제 특정 브랜치에 머지되면 docker이미지 빌드한뒤 푸시하는거 <- 요정도(?) 남았네요.
주말에 여행 다녀오는지라, 자칫 잘못하면 다음주에나 완성될 것 같아 어질어질합니다.
혹시 jenkins나 CI/CD관련 팁 또는 조언이 있으시면 많이 말씀해주세요!
자도 젠킨스로 빌드, 이미지 푸시까지는 해봤습니다.
사실 쿠버네티스는 이미지 푸시되면 자동으로 배포되서, 도커 배포는 해본적 없긴합니다.
오픈시프트엔 트리거가 있어요.
구성하고 나면 참 좋은데 구성해기가 넘 힘들더라구요
그래도 한번 해보려합니다!
cmt alert