Jenkins에서 Job을 만들 때 Tips 컬렉션

3432 단어 Jenkins

개요



Jenkins에서 Job을 만들 때의 Tips집입니다.

Tips



오래된 빌드를 폐기





이전 빌드 삭제에 체크를 하여 빌드의 보존일수 또는 최대수를 설정합니다.
고급 설정에서 빌드 아티팩트의 일 수와 최대 수를 설정할 수도 있습니다.
Jenkins 기계의 용량 부족 대책이됩니다.

클론 및 페치 시간 초과





소스 코드 관리에서 Git을 사용하는 경우에는 타임 아웃 시간을 설정할 수 있습니다.
[소스 코드 관리] -> [Git] -> [추가 처리] -> [Advanced clone behavious]에서 설정할 수 있습니다.
아무것도 설정하지 않으면 10분입니다. 큰 리포지토리의 경우, 약간 짧을 수도 있고 여기에서 Job이 넘어질 수도 있으므로 주의입니다.

리포지토리의 일부를 복제합니다.



Sparse checkout paths에서 원하는 디렉토리만 clone 해 오는 것이 가능하게 되어 있습니다.


프로젝트를 삭제해도 slave의 workspace는 남아 버리는 문제에 대응





Jenkins를 master-slave 구성으로 하고 있는 경우에는, 관리 화면상에서 프로젝트를 삭제해도 slave상의 작업 공간은 계속 남아 버립니다.
다음 스크립트를 Job으로 slave에서 정기적으로 실행하면 존재하지 않는 프로젝트의 작업 공간을 삭제할 수 있습니다.
require 'net/http'
require 'uri'
require 'fileutils'
require 'json'

uri = URI.parse("http://JENKINS_URL/api/json")
request = Net::HTTP::Get.new(uri)
request.basic_auth("user_name", "password")

req_options = {
  use_ssl: uri.scheme == "https",
}

response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
  http.request(request)
end

result = JSON.load(response.body)
jobs = result["jobs"].map{|job| job["name"] }

workspace_dirs = Dir.glob("../*")
workspace_dirs = workspace_dirs.map{|dir| File.basename(dir)}
workspace_dirs.each do |dir|
  FileUtils.rm_rf("../#{dir}") unless jobs.include?(dir)
end

puts "Job of jenkins synchronization completed!"

auth 인증을 받지 않은 경우는 request.basic_auth 는 설정 불필요합니다.

Xcode 아카이브를 정기적으로 삭제



Xcode 빌드 한정의 이야기입니다만, Xcode의 캐쉬나 아카이브는 정기적으로 삭제하면 용량 부족 대책이 됩니다. 불필요한 경우에는 삭제해 봅시다.
# Xcodeアーカイブ、キャッシュクリア
rm -rf ~/Library/Developer/Xcode/DerivedData/
rm -rf ~/Library/Developer/Xcode/Archives

↑ 이 스크립트를 정기 Job로서 Jenkins에서 실행시킨다.

Jenkins를 통해 (Master -> Slave) keychain 액세스 실패



키체인 액세스를 잠금 해제해야 합니다.
기계를 다시 시작할 때마다 필요합니다.
security unlock -p パスワード ~/Library/Keychains/login.keychain

일부 Sierra 버전에서는 다음 설정도 필요합니다.
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k LoginPassword login.keychain

참고
* h tps : // s t c ゔ ぇ rf ぉ w. 코 m / 쿠에 s Chion s / 39868578 / Sekuri ty-kodeshi gn-in-shi-Erra-y y-chan g-re-s-a-s-s t-l-setchin gs - an d-u-p

좋은 웹페이지 즐겨찾기