GitLab과 Kubernetes 연동을 통한 자동화된 CI/CD 파이프라인 구축

소스 코드 저장소 준비 먼저 GitLab 프로젝트를 생성하고 샘플 애플리케이션 코드를 업로드합니다. 예시 프로젝트 주소는 다음과 같습니다: https://gitee.com/SunHarvey/helloworld_java.git 로컬 환경에서 다음 명령어를 실행하여 코드를 가져오고 원격 저장소에 푸시합니다: git clone https://gitee.com/SunHarvey/helloworld_java.git cd helloworld_java git remote ...

10월 2일 03:58에 게시됨

Azure Container Apps에 GitHub 연동 CI/CD 파이프라인 구축하기

Azure Container Apps에 GitHub 연동 CI/CD 파이프라인 구축하기 GitHub 저장소에 코드를 커밋하면 GitHub Actions 워크플로우가 트리거되어 코드를 빌드하고 Azure Container Apps에 배포하는 것은 일반적인 개발 요구 사항입니다. 이 예제에서는 GitHub와 Azure Bicep을 사용하여 필요한 설계 및 구현을 단계별로 완료하는 방법을 안내합니다. 예제 다운로드: SleepZone ...

8월 24일 17:29에 게시됨

Jenkins Pipeline 핵심 구문 완벽 정리

1. Agent(실행 환경) 설정 Pipeline이 실행될 환경을 지정합니다. agent는 선언적 파이프라인에서, node는 스크립트 파이프라인에서 사용됩니다. 옵션설명 any가용한 임의의 노드에서 실행 none명시적 지정 없음 (stage별로 개별 지정 필요) label특정 라벨을 가진 노드에서 실행 // 동일한 표현 agent { node { label 'linux-worker' }} agent { label 'linux-wor ...

8월 6일 16:22에 게시됨

reviewdog로 코드 리뷰 자동화 구축하기

코드 품질 관리에서 반복적인 수동 검토는 개발자의 생산성을 저하시키는 주요 원인이다. reviewdog는 정적 분석 도구의 결과를 다양한 플랫폼으로 자동 전달하는 중개 역할을 수행하며, 이를 통해 리뷰 프로세스의 효율성을 극대화한다. reviewdog의 동작 원리 기존의 정적 분석 도구들은 각자 독립적인 출력 형식을 가지고 있어 CI 파이프라인에서 일관되게 활용하기 ...

8월 3일 04:46에 게시됨

지능형 보행 지원 안경 시스템: 오픈소스 기반의 자동화 배포 및 테스트 환경 제공

AI 기반 보행 지원 안경 시스템: 개발자 친화적 인프라 구축 시각 장애인이 일상적인 이동을 안전하게 수행할 수 있도록 돕는 지능형 안경 시스템은 단순한 소프트웨어 도구를 넘어, 실제 삶의 질을 개선하는 중요한 기술이다. 본 프로젝트는 이러한 사회적 필요에 부응하며, 완전히 오픈소스로 공개된 통합 솔루션을 제공한다. 특히, CI/CD 파이프라인 템플릿과 자동화 ...

7월 29일 21:06에 게시됨

FireRedASR Pro를 활용한 음성 인터랙션 기능의 자동화된 테스트 케이스 생성 및 검증

소프트웨어 테스트 분야에서 음성 인터페이스를 검증하는 일은 점점 더 중요해지고 있지만, 동시에 까다로운 과제로 남아 있습니다. 전통적인 방식은 수동 녹음과 재생에 의존하기 때문에 시간이 많이 소요될 뿐만 아니라 다양한 사용자 환경과 시나리오를 충분히 반영하지 못하는 경우가 많습니다. 이 글에서는 FireRedASR Pro를 이용하여 이러한 문제를 해결하고 테스트 ...

7월 27일 19:51에 게시됨

Linux 기반 CI/CD 파이프라인 관리 도구 Jenkins 설치 방법

Jenkins 런타임 환경 및 의존성 구성 Jenkins 는 자바 기반의 자동화 빌드 서버이므로, 운영체제 레벨에 먼저 JVM(Java Virtual Machine) 이 정상적으로 적용되어 있어야 합니다. CentOS 계열 리눅스 환경에서의 수동 설치 절차를 안내합니다. 1. OpenJDK 또는 Oracle JDK 설치 시스템 경로에 별도의 디렉토리를 할당하여 JDK 파일을 배치하는 방식입니다. 예시에서는 /op ...

7월 22일 00:43에 게시됨

Directory.Build.props를 통합적으로 활용하는 방법

다수의 모듈로 구성된 프로젝트에서 버전 번호를 일관성 있게 관리해야 하는 이유는 무엇인가? 동일한 패키지에 대해 서로 다른 버전이 사용될 경우, 예를 들어 모듈 A에서는 Serilog.Sinks.Async를 1.1.2 버전으로 사용하고, 모듈 B에서는 1.5.0 버전을 사용한다면, 최종 빌드된 항목에서는 버전 충돌 문제가 발생할 수 있습니다. 대부분의 경우 이는 무시해도 되지만 ...

7월 12일 01:22에 게시됨

Blazor 앱을 Docker로 배포하여 테스트 서버에 게시하기

공용 테스트 데이터베이스 준비 Visual Studio에서 디버깅할 때는 localhost의 데이터베이스를 사용했습니다. 이제 공용 네트워크 상에 SQL Server를 준비해야 합니다. 다음 단계를 따르세요: Study.BlazorOne.DbMigrator 프로젝트를 시작 프로젝트로 설정합니다. appsettings.json 파일 내의 연결 문자열을 수정합니다. 로컬 localhost 설정은 주석 처리하고, 공용 ...

7월 11일 18:57에 게시됨

PHP 오픈소스 유지보수와 커뮤니티 구축: 고립에서 생태계로

1. 오픈소스 프로젝트 초기화: 기반 다지기 오픈소스는 단순히 코드를 공개하는 것이 아니라 지속 가능한 생태계를 구축하는 행위입니다. 초기 설정이 잘못되면 법적 위험이나 기술적 혼란을 초래할 수 있습니다. 잘못된 사례: 라이선스 없이 상용 SDK를 GitHub에 푸시한 개발자. // 사용자가 바로 복제하여 사용하다 법적 문제에 봉착 class PaymentGateway { priva ...

7월 8일 18:35에 게시됨