⚙️ Ops/CI & CD2023. 5. 26. 12:50[Jenkins] Item (프로젝트) 설정

Item (프로젝트) 세팅 Jenkins Version : 2.387.3 Jenkins에서 실제 프로젝트를 등록한다. Jenkins 메인페이지 왼쪽 - 새로운 Item 클릭 - 프로젝트명 설정 - FreeStyle Project 선택 후 OK 클릭 그럼 Configure 화면이 나온다. Configure 화면의 설정 항목들을 환경에 맞게 세팅한다. General 소스 코드 관리 빌드 유발 빌드 환경 Build Steps 빌드 후 조치 General 설명란에 알아보기 쉽게 어떤 프로젝트 인지 작성한다. Github Project 선택 후 파이프라인을 구축할 Github Repository URL 입력 ex: https://github.com/{username}/{repo-name} 소스코드 관리 Git 선..

⚙️ Ops/CI & CD2023. 5. 26. 10:41[Jenkins] Jenkins 기본 설정 (On Container)

Jenkins 설정 (On Container) Jenkins Version : 2.387.3 Container 설정 로컬과 마운트를 위한 도커 볼륨 생성 $ docker volume create jenkins Jenkins Container 생성 & 실행 & 볼륨 마운트 & 포트포워딩 $ docker run -d --name --privileged jenkins -v jenkins:/var/jenkins_home -p 18080:8080 -p 50000:50000 --restart=on-failure jenkins/jenkins:lts-jdk11 방화벽 포트 오픈 $ firewall-cmd --permanent --add-port=18080/tcp && firewall-cmd --permanent --a..

⚙️ Ops/CI & CD2023. 5. 26. 10:40[Jenkins] AWS LightSail 설정

AWS LightSail Instance 생성 Jenkins Version : 2.387.3 Light Sail 인스턴스 생성 -> Networking -> Static IP 설정 Pem키 받아서 권한 변경 : chmod 400 xxx.pem LightSail 접속 : ssh -i "xxx.pem" ubuntu@{public-ip} LightSail 내부 기본 설정 루트 권한으로 전환 : sudo su APT 업데이트 : apt-get update && apt-get upgrade firewalld 설치 : apt install firewalld -y 포트 22,8080 추가 : firewall-cmd --permanent --add-port=22/tcp && firewall-cmd --permanent..

⚙️ Ops/CI & CD2023. 5. 24. 11:52Github Actions Self-Hosted-Runner

Self Hosted Runner Self Hosted Runner를 사용하는 이유는 Private Repo의 경우 빌드 시 분당 요금이 나가기 때문에 Github Actions의 Runner를 로컬에 설치해 로컬에서 Runner를 돌리는 것입니다. 그 이유는 Private Repofkeh Runner를 로컬로 돌리면 무료로 Github Actions를 이용 가능합니다. Github Repository Setting -> Actions -> Runner -> New Self-Hosted Runner 클릭 설정하고자 하는 로컬 머신에 해당되는 OS를 선택하면 OS 별로 설정하는 방법이 Download와 Configure란에 설명되어 있습니다. Mac 기준 Self-Hosted-Runner로 등록하고자 하는..

⚙️ Ops/CI & CD2023. 5. 24. 10:05Work flow Commit Message Filter

Work Flow Commit Message Filter Work flow Yaml 파일의 runs on, steps 사이에 if 문으로 특정 커밋메시지가 존재할 시 특정행동을 추가할 수 있다. if: ${{ contains(github.event.head_commit.message, '#ios') || contains(github.event.head_commit.message, '#all') }} #ios 혹은 #all 이 커밋 메시지에 있는 경우에만 Work Flow가 돌아가게 할 수 있다.

⚙️ Ops/CI & CD2023. 5. 23. 21:17Compress/Upload Error Report & Cache Gradle

Github Actions Error Report Github Actions Build 실패 시 에러로그가 담긴 파일을 준다. file:///home/runner/work/Query-Builder/Query-Builder/build/reports/tests/test/index.html이런 식으로 주는데 Github Actions Runner 내부 경로라 접근이 불가능하다. 그래서 빌드 실패 시 오류가 날때 Workflow에 저 에러의 내용을 압축해서 빼와보자. 에러내용을 압축하는 Workflow - name: Compress All Report Files if: ${{ failure() }} run: | echo "Compressing All Report Files..." TIMESTAMP=$(date ..

⚙️ Ops/CI & CD2023. 5. 23. 16:03CI & CD Tool 선정

💡 배포 자동화 계획 최대한 무료 & 저렴한 CI & CD Tool 선정 Serverless면 더 좋음 관리 용이성 아마 Self-Hosted-Runner를 이용한 Github Actions를 사용할 것 같다. Candidates Jenkins 구동환경 : Cloud, On-premise No Serverless 직접 버전관리 필요 무료 Circle 구동환경 : Cloud, On-Premise 배포 가능한 AWS 서비스 : [ S3, CodeDeploy, ECS, EKS ] + ECS 지원 1번에 1개의 Job 수행 가능 주당 2500, 1달 10000크레딧 제공 사용자 수 : 처음 3명까지는 인당 15$ 이후 1명당 15$ 25000 크레딩닷 15$ 2 CPU, 4GB Mem 기준 1분당 10 크레딧 ..

image