개발/리눅스

[Ubuntu] Openjdk 21 설치방법(java version upgrade)
개요개인적으로 운영하는 프로젝트의 java version을 1.8에서 20으로 올리게 되었습니다.https://syk531.tistory.com/43 개발서버에 배포를 위해 jenkins를 빌드하니 아래와 같이 java version 오류가 발생하였습니다.현재 개발서버에 java version이 11로 설치되어 있어서 에러가 발생했고 Intellij에서는 openjdk21이 현재 지원이 안되서 openjdk20으로 올렸는데 개발서버는 LTS 버전인 openjdk21을 설치해보도록 하겠습니다. Java 설치방법Ubuntu 환경에서 java는 아래의 2가지 방법으로 설치가 가능합니다.1.홈페이지에서 jdk를 다운받아서 설치2.apt 저장소에서 설치 1.홈페이지에서 jdk를 다운받아서..

nohup, &, 표준입출력 리다이렉션
jenkins 빌드 시 종료가 되지 않고 계속 돌아가는 현상이 발생해서 확인한 내용을 정리해본다. jenkins 프로젝트 설정에는 아래와 같이 Post build task(빌드 후 실행)에 jenkins 빌드가 성공하였을 경우(BUILD SUCCESS 문자열이 생김) 특정 shell 파일을 실행하게 설정해두었다. shell 파일에서는 nohup으로 jar 파일을 백그라운드로 실행하고 있었다. nohup java -jar /home/test/testApi.jar & jenkins 빌드가 종료 되지 않는 이유는 SSH를 통해 스크립트를 수행시, 표준출력이 닫히거나 timeout이 발생할때까지 스크립트가 계속 열려있다고 한다. 그래서 script로 백그라운드 작업을 실행할 경우 모든 출력을 리다이렉트 해줘야 ..
sh bash 차이점
bash와 sh은 Unix 운영 체제의 shell 명령줄 인터프리터 shell은 사용자와 운영체제간의 인터페이스로 사용자가 장치와 상호 작용할수 있도록 도와줌 bash가 sh보다 더 많은 기능을 제공하고 사용하기가 더 쉬움 bash sh #!/bin/bash #!/bin/sh 더 많은 기능을 제공함 기능이 적음 작업 제어를 지원함 작업 제어를 지원하지 않음 유효한 POSIX 쉘이 아님 유효한 POSIX 쉘임 사용하기 쉬움 bash보다 사용하기 어려움 sh보다 휴대성이 떨어짐 bash보다 휴대하기 쉬움 확장된 언어 오리지날 언어 bash 전용 스크립팅 모든 쉘에서 스크립팅 명령 기록을 지원 명령 기록을 지원하지 않음 참고자료 https://www.geeksforgeeks.org/difference-betw..
shell script - if문
jenkins로 라즈베리파이 서버에 서버사이드 api 프로젝트를 배포할때 기존에 실행되고 있는 jar process가 존재한다면 kill하고 새로 배포한 jar를 실행하는 shell script를 만들어서 jenkins에서 빌드가 성공적으로 되었다면 shell script를 실행하도록 하였다. 실행되고 있는 jar process가 존재하는지 체크하기 위해서 shell script에서 if문을 사용하였는데 if문을 정리 해보았다. 1. if문 if [ 조건절 ] then 실행절 fi 주의 해야하는 점은 if와 괄호( [,] )와 조건절 사이의 공백을 만들어야 정상적으로 실행된다. 예시 value=0 if [ $value -eq 0 ] then echo "0입니다" fi 아래와 같이 if와 then을 같은 ..