Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- Chrome 작업관리자
- SecurityMetric
- OIDC
- davtest
- Shift + ESC
- 패시브스캐닝
- 무선채널
- cgroups
- airdecap-ng
- ip forwarding
- Mac
- Mimikatz
- decap
- 넷크래프트
- NMAP
- 화이트해커
- 액티브스캐닝
- 계정 탈취
- 보안
- 강의
- Social Network in Game
- AttackGraph
- 대학원
- 공격그래프
- OpenID Connect
- dnsenum
- Kublet
- recon-ng
- Container
- 프로젝트
Archives
- Today
- Total
네른
[CI/CD] Gitlab-ci.yml 작성 예제 - JMeter 본문
테스트했던 것 중에 가장 마지막이었던 JMeter.
JMeter는 백엔드 테스팅 도구로, API테스트를 진행하거나 부하 테스트를 진행하는 등의 동작을 수행할 수 있음.
사용자는 JMeter 프로그램을 이용하여 테스트케이스를 작성할 수 있고, 이를 jmx 라는 형태의 파일로 추출할 수 있음.
여기서는 이 jmx 파일을 사용해야하기에, 테스트케이스를 별도로 생성해주어야 함
jmeter는 다행스럽게도 공식 도커 이미지를 제공함
jmeter:
stage: after_sitespeed
// jmeter는 제공된 공식 이미지를 사용하고, entrypoint를 초기화하여 사용.
// 해당 이미지는 docker run 을 이용하여 테스트를 바로 진행할 수 있도록 설계되어있기에 entrypoint를 덮어씌워야 함
image:
name: justb4/jmeter:latest
entrypoint : [""]
script:
- mkdir testresults
// entrypoint.sh 파일을 이미지 내부에서 실행시켜, 테스트케이스(jmx)에 대한 결과를 출력(jtl)
- /entrypoint.sh -n -t ./test.jmx -l ./jmeterresult.jtl -e -o ./testresults
artifacts:
paths:
- testresults
여기서 주의해야 할 점은, justb4/jmeter 이미지의 경우 entrypoint가 지정되어있어서 docker run을 수행하는 경우 원하는 결과를 얻을 수 없음.
이에, 기존의 entrypoint를 초기화시키고 별도로 실행시키면 된다!
jmx는 커밋시에 함께 올라가면 되며, 결과는 저 폴더 내의 jtl을 별도로 다운받아 볼 수 있다!
추가로 JMeter의 remote 실행방법에 대해 간단히 적어두고자 함.
JMeter를 원격에서 실행하는 경우, 몇 가지 간단한 설정이 필요함
클라이언트와 서버 양 측의 bin/jmeter.properties에 다음과 같이 설정이 필요함.
# 서버의 properties 파일
...
server.rmi.port = xx
server.rmi.localport = xxx
...
위 두 값을 설정해주어야 하며
port의 경우 기본값은 1099임을 유의
# 클라이언트의 properties 파일
...
client.rmi.localport = xxx
remote_hosts = xxx.xxx.xxx.xxx, yyy.yyy.yyy.yyy
...
클라이언트에도 위와 유사한 설정이 필요하며 사용할 remote hosts의 ip를 지정해주어야 함
이후,
jmeter-server -Djava.rmi.server.hostname=서버IP
jmeter -n -t JMX파일.jmx -R 서버의IP -X -Djava.rmi.server.hostname=클라이언트IP
위 두 라인을 각각 서버/클라이언트에서 실행하면 된다
'DevOps' 카테고리의 다른 글
[CI/CD] Gitlab-ci.yml 작성 예제 - JUnit (0) | 2022.04.28 |
---|---|
[CI/CD] GitLab CI/CD 적용 시 알아두면 좋은 점 (0) | 2022.04.28 |
[CI/CD] Gitlab-ci.yml 작성 예제 - SiteSpeed.io (0) | 2022.04.25 |
[CI/CD] CI/CD Java 테스팅 도구 (0) | 2022.04.14 |
[Docker] Docker에서 주로 사용한 명령어 (0) | 2022.04.14 |
Comments