[CI/CD] Jenkins로 이미지 만들기 자동화

최동혁·2023년 4월 28일
0

CI/CD

목록 보기
2/4

docker 설치

yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --enable docker-ce-nightly
yum-config-manager --enable docker-ce-test
yum install -y docker-ce docker-ce-cli containerd.io --allowerasing

systemctl enable docker
systemctl restart docker

chmod 666 /var/run/docker.sock

  • docker는 방화벽이 켜져 있어야 이미지가 생성이 됨.
  • 그런데 우리는 9090포트로 jenkins 대시보드에 접속하기 때문에 9090포트를 허용시켜줘야함.
  • firewall-cmd --permanent --add-port=9090/tcp
  • firewall-cmd --reload

react 자동화

github 레포지토리에 react 프로젝트가 올라가있어야 하며, Dockerfile과 이미지를 만들어서 실행하는데 필요한 기본 nginx나 apache 설정 파일들이 들어가 있어야 한다.

  • Jenkins 서버 터미널에

    dnf module enable nodejs:18
    dnf install nodejs
    npm i

  • Jenkins 파이프라인 Build Steps에서

npm i
npm run build
docker login -u 도커허브ID -p 도커허브 비번
docker build --tag (docker hub namespace)/(repository):$BUILD_ID .

docker push (docker hub namespace)/(repository):$BUILD_ID

  • 8번째 빌드가 성공을 했다. 저기서 $BUILD_ID는 환경변수로 설정해서 몇번째 빌드된 번호를 태그로 붙여준다.
  • 그렇기 때문에 태그가 8로 붙어있다.
profile
항상 성장하는 개발자 최동혁입니다.

0개의 댓글