Jenkins On ECS

EnoSoup·2021년 12월 27일
0

Jenkins

목록 보기
3/3
post-thumbnail

Jenkins 컨테이너 생성

$ vi Dockerfile
FROM jenkins/jenkins:lts

USER root

RUN apt-get update && \
    apt-get -y install apt-transport-https \
        ca-certificates \
        curl \
        gnupg2 \
        zip \
        unzip \
        software-properties-common && \
    curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg > /tmp/dkey; apt-key add /tmp/dkey && \
    add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
    $(lsb_release -cs) \
    stable" && \
    apt-get update && \
    apt-get -y install docker-ce

Docker-compose.yml 작성

$ vi docker-compose.yml
version: '3.7'

services:
  jenkins:
    build:
      context: .
    container_name: jenkins
    user: root
    ports:
      - 8080:8080
      - 50000:50000
    container_name: jenkins
    volumes:
      - ./jenkins_home:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock

컨테이너/이미지 생성

$ docker-compose up -d

ECR 푸시

Login

$ aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin accountID.dkr.ecr.ap-northeast-1.amazonaws.com

Tag 지정

$ docker tag ec2-user_jenkins:latest accountID.dkr.ecr.ap-northeast-1.amazonaws.com/dev:v0.1

Push

$ docker push accountID.dkr.ecr.ap-northeast-1.amazonaws.com/dev:v0.1

ECS 작업정의 생성/실행

  • 데모기준 포트는 8080으로 설정 (포트 변경 시 docker-compose.yml 포트 변경할 것)
  • 이미지는 ECR로 푸시한 이미지 사용
  • 클러스터 & 서비스 생성 후 Jenkins 접속
  • 접속 간 ECS 서비스 보안그룹이 새로 생성되었으니 8080 인바운드 추가해줄 것
  • Jenkins 초기 비밀번호는 ECS log 참조
profile
Cloud Engineer@Plateer. 클라우드 상에서 엔지니어링을 재미있게 하는 엔지니어입니다.

0개의 댓글