728x90

전체 글 69

Jenkins 빌드 로그를 변수에 저장하기

빌드 전체 로그 저장: currentBuild.rawBuild.log 마지막 100 lines를 list 에 저장: currentBuild.rawBuild.getLog(100) def testBuild = build ( job: "TEST_JOB", propagate: false, parameters: [ string(name: "TARGET_NODE", value: "${TARGET_NODE}") ] ) JENKINS_BUILD_URL = testBuild.getAbsoluteUrl() JENKINS_STATUS = testBuild.getCurrentResult() JENKINS_LOG = testBuild.rawBuild.log // 전체 로그 저장 JENKINS_LOG100 = testBuild...

Jenkins 2023.08.08

Ubuntu 날짜/시간 변경하기(timedatectl, dpkg-reconfigure)

시간대 변경하기 방법 1. dpkg-reconfigure 사용 root@server01:~# sudo dpkg-reconfigure tzdata Current default time zone: 'Asia/Seoul' Local time is now: 2023. 07. 19. (수) 23:16:19 KST. Universal Time is now: Wed Jul 19 14:16:19 UTC 2023. 방법2. timedatectl 사용 # 원하는 시간대 찾기 root@server01:~# timedatectl list-timezones | grep Seoul Asia/Seoul # 시간대 변경하기 root@server01:~# sudo timedatectl set-timezone Asia/Seoul # 변..

Linux 2023.07.19

Jenkins idle node 조회

jenkins에서 기본으로 제공하는 api (jenkins_ip/computer/api/json)에서 assignedLabels/idle을 통해 idle node 정보를 얻을 수 있지만, groovy script에서도 idle node를 찾을 수 있다. Computer.countBusy() == 0 인경우 node가 idle 상태이다. /** * Returns the number of {@link Executor}s that are doing some work right now. */ public final int countBusy() { return countExecutors()-countIdle(); } 위 정보를 응용해서 특정 label의 노드의 상태를 다음과 같이 찾았다. @NonCPS // 특정..

Jenkins 2023.06.20

Jenkins Gerrit 서버 등록 에러 (id_rsa is not a valid key file)

[문제] Jenkins Gerrit Trigger plugin을 사용하기 위해 Gerrit 서버를 등록하는데 "/var/lib/jenkins/.ssh/id_rsa" is not a valid key file. 에러 발생 [원인] id_rsa 키가 openssh private key로 등록되었기때문 $ cat id_rsa -----BEGIN OPENSSH PRIVATE KEY----- .... -----END OPENSSH PRIVATE KEY----- [해결방법] OPENSSH RSA키가 아닌 RSA 키로 생성하기 $ ssh-keygen -m PEM -----BEGIN RSA PRIVATE KEY----- .... -----END RSA PRIVATE KEY----- https://stackoverflo..

Jenkins 2023.06.13

Upgrade Jenkins in docker container

docker container로 운영중인 Jenkins 버전을 업데이트 하는 방법 1. jenkins container에 root로 진입 thxxyj@test-server:~# docker exec -u 0 -it ${jenkins_container} /bin/bash 2. 업데이트할 버전의 jenkins.war 파일 다운로드 http://updates.jenkins-ci.org/download/war/ root@b16853c06825:/# wget http://updates.jenkins-ci.org/download/war/2.387.3/jenkins.war 3. 다운로드한 jenkins.war 파일 이동 root@b16853c06825:/# mv ./jenkins.war /usr/share/jenki..

Jenkins 2023.05.13

[Linux] 수동으로 ADB/Fastboot 버전 업그레이드 하기

도커 컨테이너에서 android-tools-adb, android-tools-fastboot 패키지를 설치했으나 최신 버전으로 설치가 되지 않는다. # OS : Ubuntu 22.04 # fastboot : 28.0.2 root@9b310f1afe95:/home/jenkins# fastboot --version fastboot version 28.0.2-debian root@9b310f1afe95:/usr/lib/android-sdk/platform-tools# cat source.properties Pkg.UserSrc=false Pkg.Revision=28.0.2 Debian=true 다음은 컨테이너에 수동으로 ADB/Fastboot 버전을 업그레이드 하는 방법이다. 참고 : https://lynxb..

Linux 2023.04.20

[python] subprocess.run()과 Popen()의 timeout

[문제] subprocess.TimeoutExpired 에러가 발생한 경우, subprocess.run() 에서는 child process를 삭제할 수 없음 [해결] subprocess.Popen()으로 converting 했다. 방법 1. proc.kill()로 프로세스 종료 https://docs.python.org/3.9/library/subprocess.html The child process is not killed if the timeout expires, so in order to cleanup properly a well-behaved application should kill the child process and finish communication: proc = subprocess.P..

Python 2023.04.12

[Docker] DEBIAN_FRONTEND=noninteractive

Dockerfile을 통해 패키지 설치할 때 아래와 같이 interactive 입력을 받지 않으려면 DEBIAN_FRONTEND=noninteractive 를 추가하면 된다. Please select the geographic area in which you live. Subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are located. 1. Africa 2. America 3. Antarctica 4. Australia 5. Arctic 6. Asia 7. Atlantic 8. Europe 9. Indian 10. P..

Docker 2023.03.26

Docker 이미지 만들기-docker build, docker commit

docker image 만드는 방법 1. docker build: Dockerfile을 이용하여 이미지 생성 2. docker commit: docker container에서 수정 후 이미지 생성 1. docker build로 이미지 만들기 Dockerfile 만들기 https://docs.docker.com/engine/reference/builder/ FROM : base image 지정하는 명령어 ex) FROM ubuntu:latest RUN : build 과정에서 실행하는 명령어 ex) RUN apt-get update && apt-get -y install apt-transport-https WORKDIR : 작업 디렉토리 지정하는 명령어 / 해당 디렉토리가 없으면 생성 COPY : host에..

Docker 2023.03.23
728x90