Jenkins 일골드 2022. 5. 7. 18:13
Jenkins 플러그인 : Post build task 이 플러그인은 빌드 후 batch나 shell 스크립트를 실행해 주는 플러그인이다. 젠킨스에서 빌드까지 마쳤다면 다음에는 서버에 배포를 해야되는데! 배포를 하기에 앞서 결정해야할 사항들이 있다. 기존 빌드를 백업할 것인가. 무중단 배포를 할 것인가 같은것? 하지만 뭐... 나는 실 운영하는 것도 아니니... 배포할때는 서버를 잠깐 내리고 백업도 한개정도만 할까? ㅎ 무중단 배포를 하려면 웹서버에서 리버스 프록시를 사용하면 된다. 예를 들어 1번 was서버가 켜져있을때, 웹서버로 접속시 1번 was로 리다이렉트 시켜주고 배포를할때 2번 was로 배포하여 서버를 켜주고 1번 was를 꺼주고 웹서버는 2번 was로 리다이렉트하도록 리버스 프록시 설정을 해..
Jenkins 일골드 2022. 5. 4. 23:45
Jenkins item 생성 & Build 1.새로운 Item 2. 이름을 입력하고 Freestyle project 생성 3. 설명, Github등 설정 4. 소스 코드 관리 등록 Credentials(자격증명)은 패스하겠다. 5. 빌드 유발 깃허브에서 훅(hook) 트리거 발생시 Build 되도록 체크 6. Build step 선택 7. Github 접속해서 hook 등록 빌드를 위한 설정은 끝! 처음에는 작업공간이 없어서 빌드를 실행해달라고 한다. 빌드를 실행하면 작업공간이 생성된다. Push로 hook이 발생되어 빌드가 되는지 테스트 해보자 얍! 커밋&푸쉬! 에공... hook 에러났네... 9090포트를 내 아이피에서만 접속이 가능해서 그런듯... 인바운드 풀어주고 다시 해보자. 다시한번 커밋&푸..
Jenkins 일골드 2022. 5. 4. 22:01
Jenkins 환경설정 젠킨스에 로그인 jenkins 관리 > Golbal Tool Configuration 1. JDK 추가 ($JAVA_HOME으로 경로 확인) 2. Git 추가 3. Gradle 또는 Maven 추가 나는 Gradle을 사용하니까 Gradle 추가. (번외로 Gradle이 Maven보다 훨씬 빠른 빌드 속도를 가지고 있다.) Gradle은 설치를 하자. 그레들 버전은 Gradle을 사용하는 내 프로젝트 루트(gradlew 존재하는 경로)에가서 ./gradlew -v 명령으로 확인 가능.
Jenkins 일골드 2022. 5. 2. 21:59
젠킨스는 설치형 CI/CD 도구이다. CentOS7에서 설치해보자. 1. JAVA 자바는 깔렸는가? java -version 깔리지 않았다면 jdk8 또는 jdk11 설치 sudo yum install java-1.8.0-openjdk-devel.x86_64 자바컴파일 명령이 모든 계정에게 공통적으로 적용되도록 readlink -f /usr/bin/javac 명령의 아웃풋 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/bin/javac 즉! javac가 위치한 경로를 /etc/profile 에 추가해주자. sudo vim /etc/profile (시스템 전역 쉘 변수) export JAVA_HOME=/usr/lib/jvm/java-1.8.0-..
git 일골드 2022. 4. 27. 22:18
깃허브에 푸시를 하면 자동으로 Test & Build & Deploy 되도록 만들어보자 CI(Continuous Integration - 지속적 통합) : 안정적인 배포 파일을 만드는 과정 CD(Continuous Deployment - 지속적인 배포) : 빌드 결과를 자동으로 운영 서버에 무중단 배포되는 과정 CI의 4가지 규칙 (by 마틴 파울러) 1. 모든 소스 코드가 살아있고(현재 실행되고) 누구든 현재의 소스에 접근할 수 있는 단일 지점을 유지할 것 2. 빌드 프로세스를 자동화해서 누구든 소스로부터 시스템을 빌드하는 단일 명령어를 사용할 수 있게 할 것 3. 테스팅을 자동화해서 단일 명령어로 언제든지 시스템에 대한 건전한 테스트 수트를 실행할 수 있게 할 것 4. 누구나 현재 실행 파일을 얻으면..
Server 일골드 2022. 4. 26. 21:52
EC2에서 디비도 돌리고... 웹서버도 돌리고... 이번엔 WAS 빌드하는데 뻗었다...ㅋㅋㅋㅋ 검색해보니 메모리가 부족해서 그렇단다... 맞다. 내가 현재 사용하는 프리티어는 메모리가 1GB... 매우 적다. 이걸로는 CI/CD 구현이 매우 어렵다. Amazon EC2 에서 메모리 상태를 확인하는 명령어는 free이다. free 이제부터는 아마존에서 제공하는 방법을 보고 따라하겠다. 원주소는 아래와같다. https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-memory-swap-file/ 스왑 파일을 사용하여 Amazon EC2 인스턴스의 스왑 공간으로 메모리 할당 1. dd 명령을 사용하여 루트 파일 시스템에 스왑 파일을 생성합니다. 명령에서 ..
DB 일골드 2022. 4. 19. 22:16
1. sudo yum -y remove mariadb-libs (-y: 모든 물음에 예를 진행) 2. rpm -qa | grep -i mariadb (-q: 패키지의 정보를 질의, a: 전체 패키지의 목록) (-i: 대소문자 무시) 3. sudo yum update 4. sudo yum upgrade 5. sudo yum -y install mariadb-server 6. rpm -qa | grep -i mariadb 7. sudo systemctl start mariadb 8. mysql exit 9. sudo systemctl enable mariadb (시작시 자동 실행 등록) 10. firewall-cmd --permanent --add-service=mysql 11. firewall-cmd --..
git 일골드 2022. 4. 12. 23:59
GitWeb은 git repository를 웹으로 볼 수 있는 간단한 웹서버이다. 오늘은 apache와 연동하여 gitweb을 수동으로 설치해보자. 선행1. git 설치 필요(amazon linux2라서 아직 centos7인거 같음 dnf사용불가!) sudo yum install git-all 선행2. apache 설치 필요 sudo yum install httpd 선행3. lighttpd 설치 필요 (경량 웹서버인 lighttpd 또는 webrick이 필요하다.) 아래는 아마존 리눅스에서 lighttpd 설치하는 법이고 Mac같은 경우 webrick이 깔려있어 필요없다. sudo amazon-linux-extras install epel -y sudo yum -y install epel-release ..
Server 일골드 2022. 4. 9. 16:36
Amazon Web Service EC2 생성하기 1. AWS 로그인 후 EC2검색 2. 인스턴스 시작 3. AWS 가입하고 1년동안은 '프리티어 사용 가능' 이미지를 선택하면 무료로 사용 가능하다. 4. [다음:인스턴스 세부 정보 구성] 버튼을 선택하자. 검토 및 시작 버튼으로 바로 시작은 가능한데 그럼 기본설정으로 설치 되어버린다. 5. 3단계는 넘기겠다. 6. 프리티어 사용 가능 고객은 최대 30GB까지 사용할 수 있다. 하지만 기본 설정이 8GB이다. 아까 기본으로 생성했으면 용량에서 손해였다! 7. 여기는 이름을 지정하면 된다. 그냥 넘겨도 나중에 해도 되고. 8. 마지막 6단계는 '보안 그룹 구성'(방화벽)인데 만약 우리 ec2서버가 해킹당한다면 우리도 모르게 가상화폐가 채굴될 수도 있다.ㅋㅋ..
Java/SpringBoot 일골드 2022. 4. 4. 21:13
org.junit.runners.model.InvalidTestClassError JUnit Test 중 해당 에러가 발생... 그런데 각각의 테스트케이스는 통과한다? 문제는 import를 엉뚱한걸 해서 발생! 아래와 같이 변경하자! import org.junit.jupiter.api.Test → import org.junit.Test 그럼 에러 메시지는 사라진다! 우와아아~