使用Ansible配置Jenkins 2.0

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.所以,

  1. http://pkg.jenkins-ci.org/redhat-rc/jenkins-2.0-1.1.noarch.rpm rpm 安装Jenkins 2.0 .
  2. 用yum安装java.
  3. 服务开始jenkins.
  4. 打开192.168.46.10:8080,这是打开詹金斯.
  5. 在Web UI中添加初始管理员密码.
  6. 在Web UI中选择并安装插件.
  7. 在Web UI中创建一个新的管理员用户.

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)

Ant*_*ykh 6

您可以创建初始化脚本(在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的启发.