본문 바로가기

개발기술/빌드, 배포, 운영

(8)
쉘 커맨드 , 쉘 스크립트 리눅스 쉘 쉘은 사용자가 운영체제와 상호작용할 수 있도록 명령어를 입력받아 실행해주는 프로그램입니다.모든 것은 파일이라는 철학 아래에서 인터렉션이 파일을 읽고 쓰는 것처럼 이루어져있음 (마우스, 키보드 디바이스 관련 기술도 포함)리눅스의 철학은 여러 기본단위의 프로그램들이 유기적으로 각자의 역할을 하면서, 이를 조합하여 전체 시스템이 동작하도록함.(ls | grep의 경우에도, lsgrep이란 명령어가 아닌 ls와 grep을 유기적으로 조합하여 사용함)리눅스에는 여러가지 shell이 있지만 ubuntu에서도 그렇고 bash shell이 범용으로 쓰이기에 bash 명령어 위주로 학습할것.Bash: 기본적인 쉘로, 많은 시스템에서 기본으로 제공됩니다. 간단하고 강력하지만, Zsh에 비해 기능이 제한적입니다...
원격제어 MobaXterm MobaXterm is an all-in-one remote access tool for Windows that supports:SSH (Secure Shell)X11 ForwardingVNC (Virtual Network Computing) with built-in VNC viewer! RDP (Remote Desktop Protocol)FTP/SFTP (File Transfer Protocols) VNC (Virtual Network Computing)VNC (Virtual Network Computing) is a remote desktop sharing system that allows users to control a computer remotely by transmitting..
Jenkins CI/CD 자동화 https://youtubetranscript.com/?v=6YZvp2GwT0A&t=150 YouTube Transcript - read YouTube videos youtubetranscript.com Jenkins는 오픈소스 기반의 자동화 서버로, CI/CD(Continuous Integration/Continuous Delivery) 파이프라인을 구축하고 관리하는 데 널리 사용됩니다. Jenkins를 활용하면 소프트웨어 개발, 빌드, 테스트, 배포 과정을 자동화하여 개발 속도와 품질을 크게 향상시킬 수 있습니다.Jenkins CI/CD란?CI(Continuous Integration):코드 변경 사항을 지속적으로 통합하고 빌드 및 테스트를 자동화하는 프로세스입니다.Jenkins는 개발자가 변경한 코..
Gradle 빌드 사용법 .gradle 파일구조 분석Gradle 스크립트에서 작성한 설정들은 여러 Task의 동작을 조정하거나 지원하는 역할을 합니다. 플러그인 선언:plugins { id 'java' id 'org.springframework.boot' version '3.3.3' id 'io.spring.dependency-management' version '1.1.6'} 각 플러그인은 Gradle 빌드 시스템에 Task와 기본 설정을 추가합니다.java: compileJava, test, jar와 같은 Task를 추가.clean: 이전 빌드 결과를 정리. 'gradle clean' 할때에 사용됨compileJava: Java 소스 코드를 컴파일.processResources: 리소스를 복사하여 빌드 디렉토..
빌드와 Gradle 개념 빌드개념 설명빌드(Build) : 소스 코드를 컴파일, 테스트, 패키징 등을 실행하여 컴퓨터가 실행할 수 있는 실행 파일로 만드는 과정컴파일 (Compile) : 프로그래밍 언어로 작성된 소스 코드를 기계어로 변환하여 실행 가능한 파일로 만드는 과정입니다. 예를 들어, Java 코드(.java)를 바이트 코드(.class)로 변환합니다. 페이지들을 한글로 번역하기패키징 (Packaging) : 컴파일된 파일을 하나의 패키지로 묶어 배포 가능한 형태로 만드는 단계입니다. Java에서는 .jar 파일이나 .war 파일로 패키징할 수 있습니다. 파일들을 책으로 묶기PlainJar :  .class 파일들과 해당 클래스에서 사용하는 리소스(이미지 등)을 포함. 외부라이브러리를 포함하지 않아 주로 다른 프로젝트의..
빌드 파일 서버 배포 로컬배포mavenLocal  배포자체 library를 쓰는 프로젝트에서 local 배포를 진행할때 mavenLocal 저장소에 자체 library 빌드를 진행한다.clean build publishToMavenLocal -x testmavenLocal  배포 저장위치gradle 에서 아래의 두가지 변수에 따라서 배포파일의 위치가 결정된다.group = 'some.platform'version = '1.0.0'~/.m2/repository/{groupId}/{artifactId}/{version}/           전체 빌드와 배포 프로세스개발 단계 : 개발자가 Java 코드를 작성합니다.빌드  : Gradle을 사용하여 전체 빌드 과정을 처리합니다.서버 배포.jar 파일( .class 파일의 묶음)을 ..
Docker 개념 및 커맨드 가상화(Virtualization) vs. 컨테이너(Containerization)가상화: 하나의 물리 시스템(호스트)에서 하드웨어 자원을 소프트웨어적으로 나누어 여러 개의 독립된 컴퓨팅 환경(가상 머신, VM)을 생성하는 기술. 하이퍼바이저라는 소프트웨어가 지원. 각 가상머신은 독립적인 컴퓨팅 환경으로 독립적인 OS를 갖고 어플리케이션 실행가능.독립된 환경 : 자원, OS, 커널, 파일 시스템 등 모든 것이 완전하게 분리됨.컨테이너 : 애플리케이션과 그 실행에 필요한 필요한 모든 실행 환경(코드, 라이브러리, 시스템 도구 등)을 패키징하여 실행하는 경량화된 가상화 기술. 주로 리눅스 컨테이너 기술(Linux Containers, LXC) 기반. 각 컨테이너는 독립적인 OS가 아니라 OS 커널을 공유하면..
리눅스 리눅스소스 비공개 문화에 반발하여 시작한 GNU 프로젝트의 차원에서 공개된 오픈소스(GPL) 운영체제. 누구나 GPL 소스에 접근하고 활용할 수 있으며, 많은 개발자가 참여하기때문에 수정이 빈번하고 호환성문제가 발생할 수 있음. (스스로 해결법 탐색할 수 있는 역량이 필요) 리눅스 기본패키지 구성매번 ls와 pwd를 통해서 리눅스 파일 구조를 찾아내기보다는 기본적인 구조는 외워서 작업하는게 더 편리할 것으로 생각되어 기본 패키지는 외울 필요가 있다고 생각한다.  Essential Directories to RememberPathPurposeCommon Usage/Root directory (everything starts here)cd / to go to the top level/home/username..