使用 Ansible 配置 Jenkins 2.0

2024-03-02

我使用 Ansible 来配置我们的服务器,我安装了 Jenkins 2.0,但当我打开 Web UI 时,它变成了启动配置。我如何使用 Ansible 或 shell 或 jenkins-cli 来做到这一点。 CentOS 7、Ansible 2.0.1.0。 所以,

  1. 从以下位置安装 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.
  2. 使用 yum 安装 java。
  3. 服务启动詹金斯。
  4. 打开192.168.46.10:8080,也就是打开Jenkins。
  5. 在 Web UI 中添加初始管理员密码。
  6. 在 Web UI 中选择并安装插件。
  7. 在 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(使用前将#替换为@)

使用 Ansible 配置 Jenkins 2.0 的相关文章

随机推荐

  • Java 中的目录扫描器

    连续扫描一组目录以查找一组文件名过滤器 对于到达的每个文件名过滤器 处理该文件并对所有文件重复这些步骤 jdk 1 5 中推荐的设计是什么 可能使用 java concurrent Executor 和 Future 我已经用网络爬虫完成了
  • 在同一模块中使用unittest.mock的补丁,通过“__main__.imported_obj”修补时得到“没有该属性”

    我的任务本来应该很简单 但它却困扰了我一段时间 我在尝试着patch导入到当前模块中的对象 根据答案Python 中的模拟修补 from import 语句 https stackoverflow com questions 1135138
  • jQuery:计算可见元素 - 效率/速度问题

    我有一些代码可以正常工作 但它变得太慢了 HTML 我有一个容器 里面大约有 50 个ul元素 每个ul元素有一个h4标题后面跟着一系列li元素 如果没有可见的行元素 该函数将隐藏标题 JavaScript jQuery function
  • 允许 AWS Lambda 访问 RDS 数据库

    我正在尝试从 AWS Lambda Java 连接到 RDS 数据库 我应该从 RDS 安全组规则中启用哪个 IP 您无法通过 IP 启用此功能 首先 您需要为 Lambda 函数启用 VPC 访问 在此期间您将为其分配一个安全组 然后 在
  • Ansible 使用同步时提示密码

    我在用着ansible http www ansible com通过以下方式 ansible playbook f 1 my play book yaml ask pass ask sudo pass 之后我被要求输入 ssh 和 sudo
  • 无法加载资源:服务器响应 404(未找到)css 状态

    我无法让浏览器显示我正在创建的应用程序的 css 我查看了其他用户提出的相同问题 但没有找到任何对我的情况有帮助的答案 当我进入该页面时 显示的只是 Hello world 没有样式 即使样式表已链接 当我检查页面时 出现错误 无法加载资源
  • MVC 中 SelectlistItem 的自定义属性

    我想为 dropdownlist 创建一个自定义 htmlhelper 扩展方法 以接受 selectlistitem 的 Option 标签中的自定义属性 我的模型类中有一个属性 我想将其作为属性包含在选择列表的选项标记中 i e
  • MVC Mini Profiler 不尊重应用程序的路径

    我已经按照其描述设置了 MVC Mini Profiler项目页面 http code google com p mvc mini profiler 并且包含内容确实被写在页面上 问题是 我的应用程序位于http localhost 808
  • 在 AWS Ubuntu 14.04.1 LTS 上安装 Sublime Text 3

    Sublime text 是适用于 Windows 和 Linux 的快速编辑器 http www sublimetext com 我无法使用以下命令在 AWS Ubuntu 14 04 1 LTS 上安装 sublime text 3 s
  • 测量 wifi 到 Iphone/Ipad 的信号强度

    我想从 iOS 设备获取当前的 Wifi 信号强度 Google 搜索仅显示适用于 Android 设备的解决方案 从文献中我了解到 Apple 不允许访问硬件 因此没有人可以通过他们的应用程序以 dbm 形式检索设备的信号强度 它是否正确
  • Spring Batch- ItemWriter - DataIntegrityViolationException - 跳过记录 - 重试 - 不起作用

    我从某个时候就被这个问题困扰了 我正在使用 spring batch 3 0 7 问题是如果org springframework dao DataIntegrityViolationException在 ItemWriter 中的一条记录
  • Python/ Pandas:找到左右最大值

    我有一个 pandas 数据框 第一列中有一个区域 其余部分有 8 年的季度数据 大约有 4400 行 这是一个示例 idx Q12000 Q22000 Q32000 Q42000 Q12001 Q22001 Q32001 Q42001 Q
  • Android LocationServices.checkLocationSettings 误报结果

    目前受影响的设备 Xperia 1 II 小米红米Note 7 Use 为了请求位置更新 我检查位置设置 事先就足够了 如果没有 我会显示一条小文字 表明服务必须 为我的功能启用 如果用户单击它 系统对话框将启用 会提示定位服务 我如何运行
  • 在一列中添加多个值

    我必须按如下所示的方式创建一个表 我们可以这样创作吗 如果是 表名 示例 product id product name category 1 Sample1 1 2 3 2 sample2 4 5 6 其中类别字段包含多个值 我们如何搜索
  • 使用 vector 作为缓冲区,而不在 resize() 上对其进行初始化

    我想用vector
  • Powershell:确定进程是 32 位还是 64 位

    有没有办法确定给定的进程 ID 是 32 位进程还是 64 位进程 我正在使用 Powershell v3 0 尝试这个 Add Type MemberDefinition DllImport kernel32 dll SetLastErr
  • 改造响应保留旧数据并将新数据添加到 editText 搜索的数据中

    我正在使用 editText 搜索从 API 获取数据 第一次搜索时 它按预期工作 但在第二次搜索时 它不会显示唯一的新响应 而是保留旧响应并在其末尾添加新响应 它的行为就像缓存以前的一样 我该如何修复该问题以仅显示最后一个搜索词结果 分段
  • Google 云端硬盘文件列表:500 错误

    对于我们的应用程序 我们使用具有 2 足授权的 Google Drive SDK 我们使用 Drive SDK 很长时间了 但今天我们遇到了 Files list API 的新问题 https developers google com d
  • 用于一对多查找的 Cassandra 数据建模

    考虑存储用户及其联系人的问题 大约有一亿用户 每个用户有几百个联系人 平均联系人大小为 1kb 可能有些用户拥有太多联系人 gt 5000 并且可能有一些联系人比平均 1kb 大得多 例如 10 倍 用户会主动添加联系人 但很少会删除联系人
  • 使用 Ansible 配置 Jenkins 2.0

    我使用 Ansible 来配置我们的服务器 我安装了 Jenkins 2 0 但当我打开 Web UI 时 它变成了启动配置 我如何使用 Ansible 或 shell 或 jenkins cli 来做到这一点 CentOS 7 Ansib