jenkins에서 proxy 설정, update-center 작업을 수작업으로 일반적으로 작업한다. 

절차는 다음과 같다.


1. Use browser for metadata download 설정

Manage Jenkins -> Configure Global Security -> Plugin Manager -> Use browser for metadata download를  check on한다.


2. plugin 관리에서 Proxy 서버를 추가

http://jenkins장비:8080/pluginManager/advanced에서 proxy 설정 넣어야 한다.



이런 작업을 ansible로 자동화 할 수 있다. (1:1로 매핑하기 보다는 잘 동작하게)

- name: Configure Proxy
environment:
no_proxy: "localhost"
jenkins_script:
url: "http://localhost:8080"
script: "{{ lookup('template', 'proxy.groovy') }}"
validate_certs: False
timeout: 120

- name: Change Update-Center protocol
replace:
path: "{{ jenkins_home }}/hudson.model.UpdateCenter.xml"
regexp: 'https://updates.jenkins.io/update-center.json'
replace: 'http://updates.jenkins.io/update-center.json'



templates/proxy.groovy 파일

import jenkins.model.*

def instance = Jenkins.getInstance()

final String name = 'proxy.daumkakao.io'
final int port = 3128
final String noProxyHost = [
'localhost', '127.0.0.1', '127.0.0.0/8',
'...'
].join('\n')

final def proxyConfig = new hudson.ProxyConfiguration(
name, port, null, null, noProxyHost)

instance.proxy = proxyConfig
instance.save()


Posted by 김용환 '김용환'