Skip to content

Latest commit

 

History

History
91 lines (71 loc) · 3.1 KB

File metadata and controls

91 lines (71 loc) · 3.1 KB

Jenkins 컨테이너 실행 및 빌드 환경 세팅

  • Jenkins 컨테이너 실행

    • 호스트 도커 sock 을 Jenkins 컨테이너에서 사용하도록 설정 필요
    • jenkins-blueocean (jenkins 서버) 컨테이너 실행 시 로컬 볼륨을 매핑하는 -v 옵션을 주었기에 컨테이너가 중지 후 restart 되어도 jenkins 관련 이전 설정 남아 있음
    # https://www.jenkins.io/doc/book/installing/docker/#downloading-and-running-jenkins-in-docker
    
    docker network create jenkins
    
    docker run \
      --name jenkins-docker \
      --rm \
      --detach \
      --privileged \
      --network jenkins \
      --network-alias docker \
      --env DOCKER_TLS_CERTDIR=/certs \
      --volume jenkins-docker-certs:/certs/client \
      --volume jenkins-data:/var/jenkins_home \
      --publish 2376:2376 \
      docker:dind \
      --storage-driver overlay2
    
    ---dockerfile--------------------------------------------------------------------
    
    FROM jenkins/jenkins:2.387.3
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
      https://download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=$(dpkg --print-architecture) \
      signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
      https://download.docker.com/linux/debian \
      $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
    
    ---------------------------------------------------------------------------------
    
    docker build -t myjenkins-blueocean:2.387.3-1 .
    
    docker run \
      --name jenkins-blueocean \
      --restart=on-failure \
      --detach \
      --network jenkins \
      --env DOCKER_HOST=tcp://docker:2376 \
      --env DOCKER_CERT_PATH=/certs/client \
      --env DOCKER_TLS_VERIFY=1 \
      --publish 8080:8080 \
      --publish 50000:50000 \
      --volume jenkins-data:/var/jenkins_home \
      --volume jenkins-docker-certs:/certs/client:ro \
      myjenkins-blueocean:2.387.3-1
    
    docker exec -it contianerId bash
    
    # Jenkins Container 에서 도커 테스트
    docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    719385e32844: Pull complete 
    Digest: sha256:fc6cf906cbfa013e80938cdf0bb199fbdbb86d6e3e013783e5a766f50f5dbce0
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
  • AWS EC2 보안그룹 인바운드 규칙 추가

    Untitled

  • Jenkins 컨테이너 접속 확인

    Untitled

  • Jenkins 환경 설정

    • 빌드에 필요한 플러그인 및 패키지 설치
    • git, ant, docker 확인
    apt install ant
    ant -v
    Apache Ant(TM) version 1.10.9 compiled on December 25 1969