[ansible] jenkins의 proxy 설정, update-center 작업을 수작업으로 진행한다
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()