계속 이어서 진행한다
https://helloahram.tistory.com/246
Jenkins #1 로컬 Docker 환경에서 Freestyle Job 실행해보기
정글에서는 AWS Credit 을 받아 AWS 환경을 구성하고 Jenkins 도 설치했지만 여기서는 Local 환경에 Docker 를 이용하여 Jenkins 를 구성해보려고 한다 정글에서 진행한 CI/CD via Jenkins + Docker https://helloahram.tis
helloahram.tistory.com
https://helloahram.tistory.com/247
Jenkins #2 Github Repo 와 Jenkins 연동하기 - 실패 버전
https://helloahram.tistory.com/246 여기서 이어서 진행 중 - Jenkins #1 로컬 Docker 환경에서 Freestyle Job 실행해보기정글에서는 AWS Credit 을 받아 AWS 환경을 구성하고 Jenkins 도 설치했지만 여기서는 Local 환경에
helloahram.tistory.com
Playwright install-deps 설치
Jenkins Docker 컨테이너에 접속해서 Python 가상 환경을 활성화하고
Playwright install-deps 를 설치했다
docker exec -it jenkins-lts bash
source /var/jenkins_home/workspace/Sample_Automation/venv/bin/activate
playwright install-deps


마지막에 debconf 이 Unable 어쩌구저쩌구하는데, debconf 라는 패키지 설정 도구가 UI Dialog 를 띄우지 못 한다는 뜻이다
지금은 CLI 환경이라 UI 를 띄울 수 없어 자동으로 Readline 방식으로 대체하겠다는 안내이니 신경 쓸 필요 없다
Playwright install
playwright install 도 진행한다
install-deps 는 OS 수준의 라이브러리 (LibGTK, libx11 등) 를 설치하는 명령어이고,
그냥 install 은 Chromium, Firefox, Webkit 같은 Playwright 전용 브라우저를 설치하는 명령어이다
playwright install

그리고 Requirements.txt 도 만들라고 해서, 작업 공간 안에 echo 로 만들어줬다
cd /var/jenkins_home/workspace/[PROJECT_NAME]
echo "robotframework" > requirements.txt
echo "playwright" >> requirements.txt
echo "robotframework-playwright" >> requirements.txt
Job Build #3

Robot Framework 의 Playwright Library 는
Python 의 asyncio 이벤트 루프 기반인 Async 방식으로 동작한다고 한다
그런데 내가 작성한 코드는 sync_playwright() 를 사용한 Sync 방식이기 때문에
이미 실행 중인 Robot Framework 의 비동기 환경 안에서 동기 코드를 실행하려고 하다 보니
이벤트 루프 충돌이 발생했고, 그래서 Build Fail 이 발생하는 것,...!
그래서 코드를 비동기 방식으로 다 뜯어 고쳤다^_^ㅎ,...ㅎ
Job Build #4

꺄 드디어 성공했다!!!!
Jenkins 에 Build 하려면 Async 를 사용해야 하는군
앞으로 코드 작성할 때 유의해야겠다
정리하자면
1. Local Jenkins 설치
docker run -d --name jenkins-lts \
-p 9090:8080 -p 50000:50000 \
-v jenkins_home:/var/jenkins_home \
jenkins/jenkins:lts
2. Playwright 및 Python 설치
# Docker 컨테이너에 Playwright 설치
docker exec -it -u root jenkins-lts bash
apt update && apt install -y python3 python3-pip python3-venv
# 가상환경에 Playwright 의존성 및 브라우저 설치
source /var/jenkins_home/workspace/<PROJECT_NAME>/venv/bin/activate
playwright install-deps
playwright install
3. Jenkins 에 Robot Framework 를 Build 하려면 Async 방식으로 코드 작성하기
암튼 끝!
'TIL > DOCKER' 카테고리의 다른 글
| Jenkins #2 Github Repo 와 Jenkins 연동하기 - 실패 버전 (5) | 2025.07.16 |
|---|---|
| Jenkins #1 로컬 Docker 환경에서 Freestyle Job 실행해보기 (0) | 2025.07.14 |
| 쿠버네티스와 도커, 관계 정리 (0) | 2025.02.03 |
| [NGINX] EC2 Amazon Linux 에 NGINX 설치하기 (0) | 2025.01.12 |
| [AWS] 탄력적 IP 연결 (0) | 2025.01.11 |