我使用 Ansible 来配置我们的服务器,我安装了 Jenkins 2.0,但当我打开 Web UI 时,它变成了启动配置。我如何使用 Ansible 或 shell 或 jenkins-cli 来做到这一点。 CentOS 7、Ansible 2.0.1.0。
所以,
- 从以下位置安装 Jenkins 2.0http://pkg.jenkins-ci.org/redhat-rc/jenkins-2.0-1.1.noarch.rpm http://pkg.jenkins-ci.org/redhat-rc/jenkins-2.0-1.1.noarch.rpm rpm.
- 使用 yum 安装 java。
- 服务启动詹金斯。
- 打开192.168.46.10:8080,也就是打开Jenkins。
- 在 Web UI 中添加初始管理员密码。
- 在 Web UI 中选择并安装插件。
- 在 Web UI 中创建一个新的管理员用户。
5、6、7点都是新Jenkins的启动配置。我不知道如何自动安装它。
Edit 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
您可以创建一个初始化脚本(在 groovy 中)来添加管理员帐户。
脚本应该出现在$JENKINS_HOME/init.groovy.d/*.groovy
.
See 詹金斯 CI 维基 https://wiki.jenkins-ci.org/pages/viewpage.action?pageId=70877249更多细节。
这是一个例子。
security.groovy.j2
file:
#!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()
}
如何在 Ansible playbook 中使用:
- 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
我受到了这个启发GitHub https://github.com/geerlingguy/ansible-role-jenkins/blob/master/templates/basic-security.groovy存储库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)