infra/Docker

docker + jenkins + git

jjuni_96 2024. 1. 10. 22:52
728x90

Jenkins 및 기본 설정 셋팅

도커 이미지 다운로드(최신버전)

  • 포트는 8085로 접속
docker run -itd --name jenkins -p 8085:8080 jenkins/jenkins:lts

젠킨스 이미지 기동 확인

docker ps -a

잘 기동되면 54.180.119.167:8085로 접속

접속하면 경로로 들어가서 비밀번호를 치라고 나옴

docker exec -it <CONTAINER ID> /bin/bash

cat <경로>

root 사용자 계정 생성

 

 

깃허브 연동1 (public)

github 토큰 발급

  1. github 프로젝트 > settings > Developer settings
  2. Personal access token
  3. repo, admin:repo_hook 체크 후 발급
  4. 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 (이 토큰은 잃어버리면 안됨!!!)

Jenkins관리 > 시스템 설정

GitHub > AddGitHub Server

Name: 사용할 ID

API URL: 안건드려도됨

add 선택

Kind : Secret Text로 변경

Secret: github에서 받은 토큰

ID: 앞으로 사용할 토큰 ID

설정 정보 확인

테스트 결과가 저렇게 나오면 잘 된거

좌측 새로운 ITEM > 사용할 이름 등록 > Freestyle project 선택

General > Github project > Project url > 본인의 github project URL 입력

소스코드관리 > Git > Repository URL 입력 > Credential (위에서 만든 Credential 선택) > Branch 정보 입력

  • 근데 나는 이미 등록해놓은게 안나옴;;; ⇒ 그래서 새로 등록
  • 중간중간 꼬여서 그냥 creadit key 다 삭제하고 하나만 등록
  • 그래도 안나와서 그냥 진행 ⇒ 됨;;;

build 실행

빌드 후 배포하기

프로젝트 더보기 > 구성 > Build script 추가하기 (프로젝트에 맞춰서 작성해야됨)

 

 

깃허브 연동2 (private)

참조 사이트 : https://woodcock.tistory.com/20

ec2-user 상에서 작업이 아닌 jenkins 도커 내부로 이동해서 진행!! (root 계정)

# ssh 키 생성 (jenkins 계정으로 해야됨!!!!!!!!!!!!!)
ssh-keygen -C dlwjdwns010@gmail.com

## 중간에 나오는 경로
/root/.ssh/id_rsa_yellowbim

jenkins 관리 > Manage Credentials > global > add Credential 경로로 이동

새로운 Item > FreeStyle Project > 소스 코드 관리

BUILD TRIGGER 설정

Build 설정

완료 후 빌드를 진행 ⇒ 권한 error 발생

윈도우에서 환경을 생성하면 gradlew가 기본적으로 644로 올라감!!!
그래서 빌드 할때 바꿔줘야함

Execute shell 수정

  1. chmod +x gradlew
  2. ./gradlew clean build

 

 

 

 

메모리 에러

참조 사이트 : https://coco-log.tistory.com/132

 

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000eaaa0000, 178978816, 0) failed; error='Not enough space' (er

문제 EC2(Amazon Linux2 AMI)서버에서 springboot gradle프로젝트를 ./gradlew test로 테스트하려고 하니 메모리가 충분하지 않다는 에러가 발생헀다. * What went wrong: Unable to start the daemon process. This problem might be

coco-log.tistory.com

 

 

failed; error='Not enough space' (errno=12) ⇒ swap 메모리가 부족해서 생긴 문제라고함

# 메모리 증설 64MB * 16 = 1GB 인데 지금 AWS 메모리가 저렇게 안될텐데 가능한가...?
dd if=/dev/zero of=/swapfile bs=64M count=16

 

728x90
반응형
LIST