Pum*_*eed 4 provisioning jenkins ansible jenkins-2
我正在使用Ansible来配置我们的服务器,我安装了Jenkins 2.0,但是当我打开Web UI时,它正在使用启动配置.我怎么能用Ansible或shell或jenkins-cli做到这一点.CentOS 7,Ansible 2.0.1.0.所以,
5,6,7分是新Jenkins的所有启动配置.我不知道如何自动安装它.
编辑1:
1,2,3点已经完成,只是我没有分享,因为没有必要,因为我只需要一个建议如何配置Jenkins.但现在我把它添加到我的问题中.
---
- name: Jenkins - install | Install java
yum: name=java state=installed
- name: Jenkins - install | Install Jenkins 2.0
yum: pkg=http://pkg.jenkins-ci.org/redhat-rc/jenkins-2.0-1.1.noarch.rpm state=installed
- name: Jenkins - install | Start and enable Jenkins 2.0
service: name=jenkins state=started enabled=yes
Run Code Online (Sandbox Code Playgroud)
您可以创建初始化脚本(在groovy中)以添加管理员帐户.脚本应该出现在$JENKINS_HOME/init.groovy.d/*.groovy.有关详细信息,请参阅Jenkins CI Wiki.
这是一个例子.
security.groovy.j2 文件:
#!groovy
import java.util.logging.Level
import java.util.logging.Logger
import hudson.security.*
import jenkins.model.*
def instance = Jenkins.getInstance()
def logger = Logger.getLogger(Jenkins.class.getName())
logger.log(Level.INFO, "Ensuring that local user '{{ jenkins.admin_username }}' is created.")
if (!instance.isUseSecurity()) {
logger.log(Level.INFO, "Creating local admin user '{{ jenkins.admin_username }}'.")
def strategy = new FullControlOnceLoggedInAuthorizationStrategy()
strategy.setAllowAnonymousRead(false)
def hudsonRealm = new HudsonPrivateSecurityRealm(false)
hudsonRealm.createAccount("{{ jenkins.admin_username }}", "{{ jenkins.admin_password }}")
instance.setSecurityRealm(hudsonRealm)
instance.setAuthorizationStrategy(strategy)
instance.save()
}
Run Code Online (Sandbox Code Playgroud)
如何在Ansible剧本中使用:
- name: Create initialization scripts directory
file: path={{ jenkins.home }}/init.groovy.d
state=directory
owner=jenkins
group=jenkins
mode=0775
- name: Add initialization script to setup basic security
template: src=security.groovy.j2
dest={{ jenkins.home }}/init.groovy.d/security.groovy
Run Code Online (Sandbox Code Playgroud)
我受到了这个GitHub reposiotry的启发.
| 归档时间: |
|
| 查看次数: |
7981 次 |
| 最近记录: |