반응형

안녕하세요. 지난 포스팅에 이어서 Git프로젝트와 Jenkins와 연동하여 빌드&배포하는 방법을 포스팅 하도록하겠습니다.

 

윈도우 Jenkins설치[2]  기억이 안나시면 왼쪽 링크 참조하시기 바랍니다.

 

Github

환경

  • 개발 Window10 / 배포 Window2008 
  • Visual Studio 2019
  • Git
  • IIS
  • Github
  • Jenkins
  • Nuget4.9
  • MSBuilder

설정

먼저, GitHub에 테스트용 프로젝트를 생성하고 진행 하시기 바랍니다.

 

JenKins 메인화면에서 New Item 혹은 새로운 Item 메뉴를 클릭합니다.

 

 

 

아이템명을 입력하고 FreeStyle Project를 선택한 후 OK버튼을 누릅니다.

 

 

GitHub Project에 체크를하고 Project Url에 프로젝트의 URL을 입력합니다.

https://github.com/유저명/프로젝트명

 

 

 

소스 코드 관리 탭에서 Git을 체크 하고 Repository URL에 clone에 쓰이는 url을 입력 합니다. 

 

GitHub 프로젝트에 clone or download 에서 주소를 복사할 수 있습니다.

 

 

Git-Bash를 실행하여 해당 명령어로 키를 생성합니다.

 

passphrase 를 입력하라고 하면 그냥 엔터 누르시면 됩니다.

 

그럼  확장자없는 파일 하나, .pub 확장자를 가진 파일 하나가 생성됩니다.

 

확장자없는 파일에는 개인키가 들어있고 .pub 파일에는 공개키가 들어있습니다

ssh-keygen -t rsa -f 파일명

 

Repository URL 아래 Credentials에 Add를 누릅니다.

 

 

Kind를 SSH Username with private key 로 설정하시고 아래에 개인키를 메모장으로 열어서 begin -end 사이를  복사하여 붙여넣으세요.

 

개인키가 등록되었으면 github 프로젝트로 들어가 프로젝트의 Settings - Deploy Keys 에서 Add deploy key 를 선택합니다.

 

제목을 입력하고, Key 부분에는 아까 생성한 공개키 (.pub 파일) 을 메모장으로 열어 내용을 복붙합니다.

 

Allow write access 체크는 푸시고, Add key 하세요. 

 

저장이 되었으면, 이제 jenkins로 github 프로젝트 코드를 가져오고 빌드를 진행할 수 있습니다

 

 

Webhook 설정

 

새창을 여시고, 젠킨스 메인에서Jenkins 관리 - 시스템 설정으로 가Jenkins Location을 수정해주세요.

 

루프백 외에 외부에서 접근할 수 있는 도메인이나 ip/(설정한포트)를 입력하셔야 합니다. 

 

 

깃허브 프로젝트 설정으로 돌아가, Webhook 메뉴로 이동해 add webhook 버튼을 누릅니다.

 

Payload URL에는 Jenkins 주소/github-webhook/ 을 입력합니다.

마지막에 / 는 꼭 입력되어야 합니다

나머지는 기본값으로 두고 Add webhook 으로 완료합니다.

 

다시 젠킨스의 Item 생성 하던 곳으로 돌아갑시다.

 

빌드 유발 탭에서 GitHub hook trigger for GITScm polling을 선택합니다. 

 

이것으로 github에 push 이벤트가 발생하면 자동으로 빌드가 이루어질텐데,

 

서버에 따로 Visual Studio가 설치되어 있지 않으면 Build시 에러가 발생 할 수 있어 

 

Build전에 프로그램을 몇개 더 설치 해야합니다.

 

1.

https://www.nuget.org/downloads 에서 Nuget.exe를 다운로드하여 설치합니다

 

NuGet Gallery | Downloads

 

www.nuget.org

2.

Visual Studio Installer를 설치하여 MSbuiler만 설치합니다.

 

3.Jenkins 메인 > Jenkins 관리 > Global Tool Configuration 을 클릭합니다.

 

MSBuild탭 Add MSBuild버튼을 누르고

 

Name: 구분명

 

Path to MSBuild : 설치된 MSBuild 경로를 입력 한 후 저장을 누릅니다. 

 

 

 

다시 젠킨스의 Item 생성 하던 곳으로 돌아갑시다.

 

다시 Jeknins로 돌아와 [Build] 탭으로 옵니다.

 

Add Build Step을 눌러 [Execute Windows batch command] 를 추가하고, 

 

[Nuget 설치경로/실행파일] restore [.net 프로젝트]을 입력합니다

 

※ Build전 패키지 복구

C:\nuget\nuget.exe restore "C:\Program Files (x86)\Jenkins\workspace\bimp\jenkins.sln"

 

※ Build

다시 Add Build Step을 눌러 [Build a Visual Studio project or solution using MSBuild] 를 추가하고, 

 

MSBuild Version에는 아까 생성한 버전을 선택하고

 

MSBuild Build File은 .net프로젝트위치를 .sln을 포함하여 입력합니다

 

 

Command Line Arguments는 /p:Configuration=Release를 입력 하고 그외 설정은 직접 찾아보시면 됩니다.

 

 

※ Build 후 서비스되는 폴더로 옮기기

마지막으로 Add Build Step을 눌러 [Execute Windows batch command] 를 추가하고, 

 

xcopy ".net프로젝트폴더" "서비스되는폴더"  /s /h /e /d /y 를 입력합니다

 

xcopy "C:\Program Files (x86)\Jenkins\workspace\bimp\jenkins" "C:\test\" /s /h /e /d /y

 

 

이것으로 이제 Git에 소스를 푸쉬하면 자동 빌드 & 배포가 되도록 셋팅이 끝났습니다.

 

감사합니다.

 

반응형

'라이브러리' 카테고리의 다른 글

RabbitMQ 클러스터 설정하기  (0) 2022.01.15
윈도우 Jenkins 설치 [2]  (0) 2020.06.14
윈도우 Jenkins 설치  (0) 2020.06.11
[RabbitMQ] 사용자 추가  (0) 2018.09.06
RabbitMQ설치  (0) 2018.09.06

+ Recent posts