jenkins - 使用 Ansible 配置 Jenkins 流水线
问题描述
我正在尝试在 Linux Ubuntu Xenial 16.04 LTS AMD 64 服务器上使用 Ansible 完全配置我的 Jenkins 服务器。目前,我可以使用 Ansible 执行以下操作:
- 安装 Java 8
- 安装詹金斯
- 禁用 Jenkins 启动向导
- 创建用于设置用户帐户的初始化脚本
但是,我不知道现在如何使用 Ansible 自动配置我的所有 Jenkins 流水线。
我对 Google 进行了一些研究,但无法想出使用特定 Ansible 模块或 Jenkins CLI 的方法。
有谁知道我怎么能做到这一点?
我在下面提供了当前的 Ansible 剧本以供参考。
- name: Install add-apt-repostory
become: yes
apt: name=software-properties-common
state=latest
- name: Add Oracle Java Repository
become: yes
apt_repository: repo='ppa:webupd8team/java'
- name: Accept Java 8 License
become: yes
debconf: name='oracle-java8-installer'
question='shared/accepted-oracle-license-v1-1'
value='true'
vtype='select'
- name: Install Oracle Java 8
become: yes
apt: name={{item}} state=latest
with_items:
- oracle-java8-installer
- ca-certificates
- oracle-java8-set-default
- name: Download jenkins key & add key to apt to verify jenkins package
# need to use the shell module (command) to execute commands through the remote
# nodes shell which enables the use of | and other operators
shell: wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
- name: Copy jenkins list
command: sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
- name: update apt package to detect jenkins
command: sudo apt-get update
- name: Jenkins - Installs, start and register as a service.
command: sudo apt-get install jenkins -y
- name: Disable Jenkins setup wizard
lineinfile:
dest=/etc/default/jenkins
regexp=^JAVA_ARGS=
line=JAVA_ARGS="-Djava.awt.headless=true -Djenkins.install.runSetupWizard=false"
become: true
- name: Create initialization scripts directory
file: path=/var/lib/jenkins/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=/var/lib/jenkins/init.groovy.d/security.groovy
- name: restart jenkins
service: name=jenkins state=restarted
解决方案
推荐阅读
- python - 一直在写一个搜索查询工具,经过一堆搜索却没有结果,它总是出现这个错误
- reactjs - 如何将类切换到 React.js 中的每个 li 元素?
- javascript - React.js 路由到“/”会导致 [不能在没有“新”的情况下调用]
- ios - Alamofire 不会自动设置“If-None-Match”标头
- arrays - 如何优化这段代码,让整个过程加速?
- python - 在 Python(tkinter)中从类的外部更改类的私有属性(标签)
- c++ - 我应该如何在 io_service 中解决这个问题?
- android - Jetpack Compose 减少 TextField 的高度
- javascript - 如何在 nodejs 中导入 puppeteer npm
- go - 优雅地停止收听频道的更好方法