반응형

세상공부 81

Jenkins에서 윈도우 에이전트를 이용한 Visual Studio 빌드 구성 (1)

이제 Jenkins에 등록한 윈도우 에이전트를 이용하여 Visual Studio 빌드를 구성한다. Jenkins와 Nexus에 추가로 설정할 것들이 있기 때문에 사전 준비와 빌드 설정을 나눠서 포스팅한다. 빌드 구성에 필요한 사전 작업은 다음과 같다. Jenkins 플러그인 설치 배포에 사용할 Nexus 계정 생성 빌드에 사용할 GitLab 계정 생성 GitLab Access Token 발급 Jenkins에 GitLab Access Token 등록 MSBuild 설정 Nexus3 설정 빌드 설정과 빌드 진행은 다음 포스팅을 참고한다. Jenkins에서 윈도우 에이전트를 이용한 Visual Studio 빌드 구성 (2) 이전 포스팅에서 Jenkins의 빌드 구성을 위한 사전 작업을 진행했다. Jenkins..

::: IT인터넷 ::: 2021.08.19

리눅스 Docker 컨테이너를 Jenkins 에이전트로 연결하기 (via. SSH)

이전 포스팅에서 jenkins/ssh-agent의 Dockerfile에 Anaconda를 추가하여 Python 빌드를 위한 리눅스 Docker 이미지를 생성하고 배포했다. 자세한 내용은 아래 포스팅을 참고한다. Docker로 Jenkins의 Python 빌드 에이전트 만들기 시놀로지 NAS는 리눅스 기반의 운영체제를 기반으로 한 DSM으로 동작한다. 시놀로지 NAS에 Docker를 기반으로 셋팅한 Jenkins 역시 리눅스 기반이다. 시놀로지 NAS에 Jenkins 구축하기 현재 근무 중인 회 www.bearpooh.com 이제 해당 도커 이미지를 사용해서 컨테이너를 생성하고 Jenkins에 에이전트로 등록해야 한다. 윈도우 환경에서는 Java의 JNLP 파일을 실행하는 방법을 사용했다. 윈도우 가상 환..

::: IT인터넷 ::: 2021.08.16

Docker로 Jenkins의 Python 빌드 에이전트 만들기

시놀로지 NAS는 리눅스 기반의 운영체제를 기반으로 한 DSM으로 동작한다. 시놀로지 NAS에 Docker를 기반으로 셋팅한 Jenkins 역시 리눅스 기반이다. 시놀로지 NAS에 Jenkins 구축하기 현재 근무 중인 회사에서는 빌드 및 배포 시스템으로 Atlassian의 Bamboo를 사용 중이다. 기능도 익숙하고 사용하기 편리하지만 상용 제품이다 보니 개인이나 소규모로 사용하기에는 부담이 있다. www.bearpooh.com Jenkins의 SSH Agent 컨테이너의 Dockerfile과 Anaconda를 활용하여 리눅스 기반의 파이썬 빌드 에이전트를 생성한다. 생성한 빌드 에이전트는 SSH 통신을 이용하여 Jenkins에 에이전트로 등록한다. 진행 순서는 다음과 같다. Jenkins SSH 에이..

::: IT인터넷 ::: 2021.08.12

시놀로지 VMM의 윈도우 가상 환경을 Jenkins에 에이전트로 연결하기

Jenkins 자체에 포함 된 빌드 기능을 이용하면 빌드 수행이 가능하다. 그러나 별도의 빌드 에이전트를 Jenkins에 빌드 에이전트로 등록해서 사용할 수 있다. 예전에 개발팀에 있을때 Bamboo에 빌드머신들을 에이전트로 등록해서 사용했는데 동일한 구조로 구성해보았다. Docker로 생성한 Jenkins 컨테이너는 Master 노드로, 빌드만 진행하는 별도의 에이전트를 Slave 노드로 구성한다. Jenkins 컨테이너 (Master Node) - 빌드 구성과 관리 기능 수행 Jenkins 에이전트 (Slave Node) - VMM의 윈도우10 가상 환경 (Visual Studio 빌드), 리눅스 Docker 컨테이너 (Anaconda 기반 Python 빌드) 이렇게 하면 빌드 구성 관리와 빌드 수행..

::: IT인터넷 ::: 2021.08.09

시놀로지 VMM의 가상 윈도우에 빌드환경 구성하기

시놀로지 NAS에 VMM으로 설치한 윈도우 10 가상 컴퓨터에 기본적인 프로그램과 Visual Studio 빌드에 필요한 프로그램들을 설치한다. 시놀로지 NAS에 Virtual Machine Manager를 이용한 윈도우 운영체제 설치 방법은 다음 포스팅을 참고한다. 시놀로지 NAS에서 Virtual Machine Manager로 윈도우 사용하기 시놀로지 NAS는 리눅스 기반의 운영체제를 기반으로 한 DSM으로 동작한다. 시놀로지 NAS에 Docker를 기반으로 셋팅한 Jenkins 역시 리눅스 기반이다. 시놀로지 NAS에 Jenkins 구축하기 현재 근무 중인 회 www.bearpooh.com 이후 프로그램 설치는 다음 과정으로 진행한다. Required는 필수로 설치해야 하고, Optional은 개인..

::: IT인터넷 ::: 2021.08.05

시놀로지 NAS의 VMM으로 생성한 윈도우10에 RDP로 접속하기

이전 포스팅에서 시놀로지 NAS에 VMM (Virtual Machine Manager)를 사용하여 윈도우 10 가상 환경을 생성하였다. 시놀로지 NAS에서 Virtual Machine Manager로 윈도우 사용하기 시놀로지 NAS는 리눅스 기반의 운영체제를 기반으로 한 DSM으로 동작한다. 시놀로지 NAS에 Docker를 기반으로 셋팅한 Jenkins 역시 리눅스 기반이다. 시놀로지 NAS에 Jenkins 구축하기 현재 근무 중인 회 www.bearpooh.com 가상 컴퓨터 목록에서 상단의 연결 버튼을 누르면 웹 브라우저에서 가상 컴퓨터에 접속할 수 있지만 속도가 느리다. NAS의 저장 장치가 하드디스크이고, CPU가 Intel Celeron J4025 2.9Ghz 듀얼코어라 성능이 낮은 것이 주 원..

::: IT인터넷 ::: 2021.08.02

시놀로지 NAS에서 Virtual Machine Manager로 윈도우 사용하기

시놀로지 NAS는 리눅스 기반의 운영체제를 기반으로 한 DSM으로 동작한다. 시놀로지 NAS에 Docker를 기반으로 셋팅한 Jenkins 역시 리눅스 기반이다. 시놀로지 NAS에 Jenkins 구축하기 현재 근무 중인 회사에서는 빌드 및 배포 시스템으로 Atlassian의 Bamboo를 사용 중이다. 기능도 익숙하고 사용하기 편리하지만 상용 제품이다 보니 개인이나 소규모로 사용하기에는 부담이 있다. www.bearpooh.com 이렇게 셋팅한 Jenkins에 Visual Studio 빌드를 위한 별도의 에이전트를 추가하려면 윈도우 환경의 Docker나 가상환경이 필요하다. 그러나 아래와 같은 구조적인 차이로 인해 리눅스 환경에서는 윈도우 운영체제를 Docker로 사용할 수 없다. [Windows 컨테이..

::: IT인터넷 ::: 2021.07.30

exe 파일 Nexus에 배포하기

Visual Studio에서 빌드를 하면 EXE 또는 DLL 파일이 생성된다. EXE 파일의 경우 바로 사용 가능하기 때문에 배포해야 하는데 방법은 여러가지가 있다. FTP 서버를 사용한다. 웹서버를 사용한다. 사설 저장소를 사용한다. 이미 Nexus를 구축하고 PyPi, Docker, APT, Conda 사설 저장소로 사용하고 있으므로, 생성한 EXE 파일도 Nexus로 배포하기로 했다. 생성하는 방법은 다른 저장소 생성 방법과 거의 동일하다. 저장소 타입이 Raw인 것만 다르다. PyPi 저장소 생성 방법은 다음 포스팅을 참고한다. Nexus3를 이용한 PyPi 사설 저장소 구축 Nexus3를 이용한 PyPi 사설 저장소 구축은 3개의 저장소가 필요하다. hosted (Local) - 내부에서 작성한..

::: IT인터넷 ::: 2021.07.28

Visual C++ 프로젝트 버전 정보 쉽게 관리하기

일반적으로 프로그램을 작성하면 해당 프로그램의 버전 정보를 입력해야 한다. 버전 정보는 해당 프로그램의 변경 이력을 나타내는 정보로 사용된다. Visual C++의 MFC로 프로그램을 작성할 때 버전 정보는 프로젝트명.rc 파일 - Version - VS_VERSION_INFO에 위치한다. 깊숙한 곳에 있고 rc 파일 형식이라 버전 정보를 찾거나 수정하기가 불편하다. 스칼라의 경우 build.sbt, 파이썬의 경우 setup.py에 버전을 기입할 수 있어 편리하다. 버전 정보를 별도의 헤더 파일로 분리하여 rc 파일에 전달하면 보다 쉽게 버전 관리를 할 수 있다. rc 파일 확인하기 프로젝트명.rc 파일에는 FILEVERSION, PRODUCTVERSION, FileVersion, ProductVersi..

::: IT인터넷 ::: 2021.07.26

Visual C++ 프로젝트 폴더 구성하기

NAS에 개발 환경을 구축하면서 약 7년 전에 MFC 공부하면서 만들었던 MD5를 추출하는 GUI 툴을 테스트 프로젝트로 활용했다. Visual Studio 2008의 Visual C++과 MFC를 사용해서 만들었다. Visual Studio Express 2010 (Visual C++ 2010)은 MFC가 포함되어 있지 않아 빌드에서 오류가 발생한다. (MFC 관련 SDK를 추가로 설치하면 사용 가능하다.) Visual Studio Community 2019는 MFC가 포함되어 있어서, MFC를 추가 설치하면 빌드가 가능하다. 최근엔 GUI 관련 개발도 Qt 또는 PyQt 같은 더 쉬운 방법 있어 MFC를 사용하는 경우는 많지 않은 것 같다. NAS에 구축한 GitLab과 Nexus에 해당 프로젝트를 ..

::: IT인터넷 ::: 2021.07.23
반응형