Docker Jenkins 설치 및 nginx https 적용 방법

먼저 Jenkins Docker 설치 방법을 살펴보겠습니다. 그리고 해당 Jenkins는 경우에 따라 외부 네트워크에서도 접근해야 할 필요성이 생깁니다. 이를 위해서 Jenkins 컨테이너에 대한 nginx https 적용 방법까지 알아보도록 하겠습니다. Docker Jenkins 설치 개요 우선 Docker Compose를 이용해서 Jenkins를 설치할 것입니다. 그리고 Nginx에서 HTTPS 설정을 해 줄 것입니다. Jenkins 컨테이너 설정 Jenkins 컨테이너 이름, 이미지, 재시작, 포트 … Read more

Jenkins 로케일 언어(locale language) 설정 방법

Jenkins에서 한글 메뉴와 영문이 혼용되어서 그냥 차라리 영문으로 사용하고 싶으신 분 계실까요? 또는 외국 기업과 함께 일해야 해서 다른 외국어로 로케일을 설정해야 하나요? Jenkins 로케일 설정 방법을 알려드리겠습니다. 개요 Jenkins는 기본적으로 브라우저의 언어에 따라 메뉴와 설명 등의 텍스트를 표시합니다. 따라서 내가 사용하는 브라우저의 언어가 한국어 로케일을 쓰고 있다면, 한국어 로케일이 적용되고, 일본어 로케일을 쓰고 있다면 … Read more

Jenkins Timezone(젠킨스 타임존) 설정 방법

젠킨스에서 프로젝트 빌드를 수행한 시간이 현재 나의 시간과 맞지 않아서 Timezone 설정을 하고 싶은 경우 있으시죠? 현재 시간과 일치하지 않는 시간으로 그냥 사용하다 보면 나름의 적응을 하기도 하겠지만, 종종 헷갈리는 일이 생깁니다. 따라서 타임존 설정은 꼭 해 주시기 바랍니다. 그러면 Jenkins Timezone 설정 방법을 알려드리겠습니다. Jenkins Timezone 설정이 되지 않은 경우 저의 경우에는 분명 오후 … Read more

Jenkins alpine 컨테이너에서 NodeJS 프로젝트 빌드하는 3가지 방법

Jenkins alpine 컨테이너에서 NodeJS 프로젝트를 빌드하려는데 오류가 생기나요? Jenkins alpine 이미지를 활용해서 Jenkins를 구동하지 말아야 하는 이유를 설명해 드립니다. Jenkins alpine 이미지 사용 비추천 결론부터 일단 말씀드리면, Jenkins를 Docker로 띄워서 사용할 것이고, NodeJS 프로젝트를 빌드할 계획이라면 Alpine Jenkins 도커 이미지를 사용하지 마시길 권합니다. 이유: musl-libc 이슈 alpine은 경량 musl-libc 라이브러리를 사용하는데, Jenkins의 NodeJS 플러그인은 glibc로 … Read more

Jenkins ssh key 설정 방법(Credentials로 git 연동) 2가지

Jenkins에서 특정 프로젝트의 git 저장소 활용은 빼놓을 수 없습니다. 아무에게나 git 저장소를 개방할 수는 없으며, 허가받은 사용자에게만 인증처리를 해주어야 합니다. 그럼 프로젝트에서 git 연동을 위한 인증 처리 방법으로 Jenkins SSH Key 설정 방법을 살펴보겠습니다. 프로젝트에서 Git 연동(feat. Jenkins SSH Key 설정) 앞서 말씀드렸듯이 Jenkins에서 git repository를 설정하는 경우 Credentials를 통해서 인증처리를 해 줘야 합니다. Jenkins가 … Read more

Windows 10 Jenkins 외부 접속을 위한 방화벽 설정

Jenkins를 설치한 후 localhost로는 접속이 되는데, 외부 접속이 되지 않는 경우가 있습니다. 방화벽에서 막고 있기 때문인데요, 해당 PC의 방화벽에서 Jenkins 외부 접속을 허용해 주는 방법을 알아보도록 하겠습니다. Jenkins 외부 접속이 안되는 현상 제가 윈도우 10에 Jenkins를 설치한 경우에는 방화벽 때문에 Jenkins 외부 접속이 되지 않았습니다. 이럴 때는 Windows Defender 방화벽에서 젠킨스 서비스를 구동하는 java에 대해 … Read more

Jenkins Publish over SSH 원격서버 설정 및 배포 방법

Publish over SSH는 Jenkins에서 빌드를 마치고, 특정 서버로 배포를 할 때 사용하는 플러그인입니다. 플러그인 사용을 위해서 필요한 Jenkins SSH Key 설정 방법을 알아보도록 하겠습니다. ssh-keygen으로 개인키/공개키 쌍 생성하기 SSH 접속을 위해서는 User ID와 비밀번호 또는 개인키/공개키가 필요합니다. 개인키/공개키 쌍이 준비되어 있지 않다면, 그림 1과 같이 ssh-keygen을 이용해서 키 쌍을 준비해야 합니다. Publish over SSH 플러그인 … Read more

Bitbucket 저장소와 Jenkins webhook 연동 – proxy

Jenkins와 Bitbucket Repository를 Webhook으로 연동했을 때의 문제는 webhook 조건을 pull request merged로 설정하면 브랜치 여부에 관계없이 webhook을 날린다는 것이다. 필자가 앞서 포스팅 한 글(https://osg.kr/archives/80)에서 사용하는 방법도 마찬가지다. 안드로이드 프로젝트의 dev 브랜치가 pull request 됐을 때 개발용 앱을 빌드하고, master 브랜치에는 tag가 push 됐을 때 상용 앱을 빌드하도록 하고 싶다면? 어떻게 해야 할까? 이는 실제 필자가 … Read more