gpt4 book ai didi

jenkins - 使用 Ansible 配置 Jenkins 2.0

转载 作者:行者123 更新时间:2023-12-02 13:25:43 25 4
gpt4 key购买 nike

我使用 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 安装 Jenkins 2.0转速。
  2. 使用 yum 安装 java。
  3. 服务启动 jenkins。
  4. 打开 192.168.46.10:8080,这将打开 Jenkins。
  5. 在 Web UI 中添加初始管理员密码。
  6. 在网络用户界面中选择并安装插件。
  7. 在网络用户界面中创建一个新的管理员用户。

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

最佳答案

您可以创建一个初始化脚本(在 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()
}

如何在 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存储库。

关于jenkins - 使用 Ansible 配置 Jenkins 2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36604504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com