Build/Jenkins Build/Jenkins 2022. 7. 15. [Infrastructure/Jenkins] Windows Jenkins에서 JSON 파일을 작성 및 배포 후 Linux 애플리케이션이 읽어오지 못하는 문제 문제 현상 CI/CD 구축 중 Jenkins Pipeline에서 JSON 파일을 작성하여 CentOS 호스트에 배포합니다. Jenkins 서버는 Windows 위에서 동작하고 있으며, 호스트는 배포된 JSON 파일을 환경 설정으로 하여 서버 애플리케이션을 실행합니다. 배포된 JSON 파일을 CentOS 호스트의 서버 애플리케이션이 읽어오지 못하고 있습니다. 동일한 텍스트를 CentOS 호스트에서 직접 파일 생성하면 정상적으로 처리됩니다. CentOS 호스트 위에서 동작하는 서버 애플리케이션은 실행과 동시에 인자로 JSON 파일을 로드합니다. 2022-07-15 05:32:52 [20819]Exception in thread "main" java.util.NoSuchElementException 2022-.. Build/Jenkins 2022. 4. 12. [Infrastructure/Jenkins] SSH Pipeline Steps 플러그인을 사용한 원격 호스트 제어 파이프라인 스크립트를 작성하다보면 Steps에서 처리해야하는 작업이 Jenkins 호스트가 아닌 원격 호스트인 경우가 있습니다. 예를 들면 젠킨스에서 애플리케이션 배포 후 원격 호스트에서 애플리케이션을 실행하는 등의 작업이 필요 할 수 있습니다. SSH Pipeline Steps 플러그인 SSH Pipeline Steps는 파이프라인에서 원격 호스트에 접속하여 제어하기 위한 플러그인입니다. 지속적인 전달(CD)를 위한 파일 전송 및 SSH 기능을 제공합니다. 자세한 정보는 ssh-steps-plugin GitHub에서 확인 할 수 있습니다. 사전 요구 사항 2.0.0 버전 기준 다음 요구 사항을 만족해야합니다. 플러그인 설치 관련해서는 다음 문서를 참고합니다. Pipeline: Step API 플러그인 .. Build/Jenkins 2022. 4. 12. [Infrastructure/Jenkins] 플러그인(Plugin) 설치 플러그인으로 기능 확장 젠킨스의 장점 중 하나는 다양한 플러그인(Plugin)을 적용하여 CI/CD 구축 방식에 제한을 받지 않는다는 점입니다. 젠킨스를 설치하는 과정에서 Install suggested plugins 옵션을 선택하였다면 통상적으로 많이 사용되는 플러그인을 자동으로 설치하게 됩니다. 하지만 젠킨스를 사용하다보면 확장된 기능에 대한 요구가 발생합니다. 젠킨스 플러그인 인덱스에서 접속하여 새로 업데이트된 플러그인, 최근 많이 사용되고 있는 플러그인 등에 대한 정보를 얻을 수 있습니다. 젠킨스 웹 UI에서 플러그인 설치 젠킨스 웹 UI에 접속하여 로그인 후 Dashboard > Jenkins 관리에 입장합니다. Jenkins 관리 페이지가 열리면 플러그인 관리에 입장합니다. 플러그인 매니저 상.. Build/Jenkins 2022. 4. 12. [Infrastructure/Jenkins] Scripted 파이프라인 기본 구문 Scripted 파이프라인 구문 Scripted 파이프라인은 범용 사용성을 위해 Groovy 문법을 준수하는 DSL로 작성됩니다. 따라서 Groovy 언어에서 사용 가능한 대부분의 구문을 스크립트에서 그대로 사용 할 수 있습니다. 흐름 제어 Groovy 또는 다른 언어의 실행 방식과 마찬가지로 Jenkinsfile의 맨 위에서부터 아래로 순차 실행됩니다. 따라서 스크립트의 흐름을 제어하려면 다음과 같은 구문(e.g. 조건문)에 의존합니다. node { stage('Example') { if (env.BRANCH_NAME == 'master') { echo 'I only execute on the master branch' } else { echo 'I execute elsewhere' } } } 또 다른.. Build/Jenkins 2022. 4. 11. [Infrastructure/Jenkins] 파이프라인 소개 및 젠킨스 웹 UI로 파이프라인 만들기 파이프라인(Pipeline) 젠킨스의 파이프라인은 지속적인 통합(CI, Continuous Integration)과 배포(CD, Continuous Delivery)를 지원하기 위한 플러그인의 집합입니다. 파이프라인은 스크립트로 구현되며 젠킨스에서 지원하는 도메인 특화 언어(DSL, Domain-Specific Languages)로 작성합니다. 스크립트는 젠킨스 웹 UI를 사용하는 것보다 "코드"에 가까운 모델로써 CI/CD의 세부적인 내용까지 컨트롤 할 수 있습니다. 사전 요구 사항 젠킨스 파이프라인을 사용하려면 다음 조건을 만족해야 합니다. Jenkins 2.x 이상(1.642.3 이전 버전에서도 동작하지만 권장하지 않습니다) 파이프라인 플러그인(젠킨스를 권장 설치로 진행 시 디폴트로 설치됩니다) 파.. Build/Jenkins 2022. 4. 6. [Infrastructure/Jenkins] MacOS에서 도커(Docker)를 사용한 젠킨스 설치 도커(Docker) 설치 터미널에서 다음 명령문을 실행하여 도커 설치 버전을 확인합니다. 또는 docker --version으로 대체 할 수 있습니다. $ docker -v Docker version 20.10.13, build a224086 개발 중인 PC에서 도커가 설치되어 있지 않다면 이 블로그의 포스트 또는 도커 도큐먼트를 참고합니다. 설치 요구 사항 도커를 실행 가능한 환경이며, 도커에 대한 사전 지식이 있어야 합니다. 젠킨스 서버를 구축에 대한 최소한의 요구 사항은 다음과 같습니다. 합적인 하드웨어 권장 사항은 다음 도큐먼트를 확인합니다. 램 256MB 이상 10GB 이상의 디스크 공간 소규모 프로젝트 또는 팀에서는 다음 하드웨어 스팩을 만족하는 것을 권장합니다. 램 4GM 이상 50GM 이상.. Build/Jenkins 2022. 4. 6. [Infrastructure/Jenkins] 젠킨스(Jenkins)란? 젠킨스(Jenkins)란? 젠킨스는 애플리케이션 빌드 및 배포 자동화를 지원하는 MIT 라이센스 기반의 오픈 소스 서버입니다. 지속적인 통합 및 배포를 의미하는 CI/CD 툴이라고 할 수 있습니다. 지속적인 통합 및 배포 단순히 CI 서버로 사용하거나 CD 허브를 위한 서버로 확장 될 수 있습니다. 멀티 플랫폼 서버 Windows, Linux, MacOS 그리고 기타 Unix 계열 OS에서 운용 가능한 Self-contained 자바 기반 서버입니다. 웹 인터페이스 기반 구동중인 젠킨스 서버 웹 페이지에 접속하여 빌드 및 배포 관리 설정을 손쉽게 수정 할 수 있습니다. 플러그인 지원 자체적인 업데이트 센터에서 여러 기술적인 스팩에 대한 플러그인을 지원합니다. 젠킨스를 설치하려면? 도커(Docker)를 통.. Build/Jenkins 2022. 4. 4. [Infrastructure/Jenkins] 파이프라인에서 "CreateProcess error=2, 지정된 파일을 찾을 수 없습니다" 오류 "CreateProcess error=2, 지정된 파일을 찾을 수 없습니다" 오류 젠킨스 서버의 파이프라인에서 sh 명령어를 사용하면 "지정된 파일을 찾을 수 없습니다" 오류가 발생하고 있습니다. 테스트 환경은 다음과 같습니다. Windows 10 Pro x64 Jenkins 2.332.1 버전 파이프라인 실행 시 젠킨스 Console Output에서 출력되는 메시지입니다. java.io.IOException: CreateProcess error=2, 지정된 파일을 찾을 수 없습니다 at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.(Unknown Source) at java.lang.ProcessImpl.start(Unkno.. 이전 1 다음