0


自动化运维可视界面Ansible Semaphore使用教程

用户手册

1、Projects

项目是分隔管理活动的地方。所有Semaphore活动都发生在项目的上下文中。项目彼此独立,因此您可以使用它们在单个信号量安装中组织不相关的系统。这对于管理不同的团队、基础设施、环境或应用程序非常有用。

2、Task Templates

模板定义如何运行Ansible Playbook。该模板允许您指定以下参数

  • Playbook repository 脚本库

  • Playbook filename 脚本文件名

  • Inventory 参考第五章

  • Environment 参考第六章

  • Vault password file 库密码文件

  • Extra CLI arguments 其他的CLI参数

任务模板有三种类型:Task , Build ,Deploy

Task

只是用指定的参数运行指定的脚本

Build

这种类型的模板应该用于创建artifacts。artifacts的起始版本可以在模板参数中指定。每次运行都会增加artifacts版本。

semaphore不支持开箱即用的artifacts,它只提供任务版本控制。应该自己实现artifacts创建。阅读build和deploy这章,了解如何去做

Deploy

这种类型的模板应该用于将工件部署到目标服务器。每个deploy模板都与build模板相关联。

这允许您将工件的特定版本部署到服务器上

3、Tasks

Tasks是启动Ansible脚本的实例。通过单击所需模板的Run/Build/Deploy按钮,可以从task Template创建task。

类型为Deploy的任务允许您指定与该任务关联的build版本。默认情况下,它是最新的build版本。

当任务运行或完成时,可以看到任务的状态和运行日志。

4、Key Store

semaphore中的Key store 用于存储访问远程存储库、访问远程主机、sudo凭据和Ansible保险库密码的凭据。
在设置其他资源(如inventory、repository和任务模板)之前配置好所有必需的accress keys是很有帮助的,这样就不必在以后编辑它们。

Key有四种类型

SSH

SSH密钥用于访问远程服务器和远程存储库。此时,semaphore支持使用受密码保护的SSH密钥。
如果您需要帮助快速生成密钥并将其放置到您的主机上,这里有一个快速指南。
对于使用SSH身份验证的Git Repository,试图克隆的Git Repository需要将您的公钥与私钥关联起来。
下面是一些常见Git仓库文档的链接

GitHub

GitLab

Bitbucket

Login With Password

Login With Password是一个用户名和密码/访问令牌组合,可用于执行以下操作:

  • 向远程主机进行身份验证(尽管这比使用SSH密钥更不安全)
  • 远程主机上的Sudo凭据
  • 通过HTTPS对远程Git Repos进行身份验证(尽管SSH更安全)
  • 解锁Ansible金库

Personal Access Token

None

这被用作像GitLab上的开源repos那样不需要身份验证的repo的填充符。

5、inventory

Inventory是一个文件,它存储了Ansible运行的主机列表。Inventory还存储脚本可以使用的变量。一个Inventory可以存储在YAML、JSON和TOML上。

更多关于库存的信息可以在Ansible文档中找到。
Ansible Semaphore既可以从该信号量用户具有读访问权的服务器上的文件中读取Inventory,也可以通过web GUI编辑静态Inventory。每个目录至少有一个与之相关的凭证。Ansible用来登录主机获取Inventory的用户凭证和sudo凭证,sudo凭证用于升级主机上的特权。需要有一个用户凭据,这个用户凭据要么是一个带登录的用户名,要么是在Key Store中配置的SSH,以创建Inventory。有关凭证的信息可以在本站点的密钥存储区部分中找到。

创建 inventory

  1. 单击Key Store选项卡,并确认您有一个login_password或ssh类型的密钥
  2. 单击Inventory选项卡,然后单击New Inventory
  3. 命名库存并从下拉菜单中选择正确的用户凭据。如果需要,请选择正确的sudo凭据
  4. 选择Inventory类型
  • 如果选择file,请使用文件的绝对路径
  • 如果您选择静态,请将您的Inventory粘贴或键入到表单中
  1. 单击Create。

更新inventory

  1. 单击Inventory选项卡
  2. 单击要编辑的目录旁边的铅笔图标
  3. 让你改变
  4. 点击保存

删除inventory

在你移除一个库存之前,你必须移除与它相关的所有资源。如果您不确定某个环境中正在使用哪些资源,请执行下面的步骤1和步骤2,它将显示哪些资源正在使用它,并提供指向这些资源的链接。

  1. 单击Inventory选项卡
  2. 点击Inventory旁边的垃圾桶图标
  3. 如果确定要删除Inventory,则单击Yes

6、Environment

Semaphore的Environment部分是存储库存的附加变量的地方,必须以JSON格式存储。所有任务模板都需要定义一个环境,即使它是空的。

创建环境

  1. 单击Environment选项卡
  2. 单击New Environment按钮
  3. 命名环境并键入或粘贴有效的JSON变量。如果您只需要{}中的空Environment类型

更新环境

  1. 单击Environment选项卡
  2. 点击铅笔图标
  3. 进行更改并单击保存

删除环境

在删除环境之前,必须删除与之关联的所有资源。如果您不确定某个环境中正在使用哪些资源,请执行下面的步骤1和步骤2,它将显示哪些资源正在使用它,并提供指向这些资源的链接。

  1. 点击环境
  2. 单击环境旁边的垃圾桶图标
  3. 如果确定要删除环境,则单击Yes

7、Repositories

Repository是存储和管理Ansible内容的地方,比如脚本和roles。
semaphore可以理解以下仓库:本地Git仓库(Git://)、本地文件夹(file://)或通过HTTPS (https://)或SSH(SSH://)访问的远程Git仓库。
所有任务模板都需要一个存储库才能运行

Authentication

如果使用需要身份验证的远程存储库,则需要在“信号量”的“密钥存储”部分配置密钥。
对于使用SSH的远程存储库,您需要在密钥存储库中使用SSH密钥。
对于没有身份验证的远程存储库,可以创建类型为None的Key。

创建一个仓库

  1. 确保已经为要在密钥存储区中添加的Repository配置了密钥
  2. 转到Semaphore的Repository部分,单击右上角的New Repository按钮
  3. 配置存储库
  • 存储库名称
  • 添加URL。URL必须以以下格式开头: - https://用于通过HTTPS访问的远程Git仓库- ssh://用于通过ssh访问的远程Git库- file://表示文件系统本地文件夹- git://用于本地git存储库
  • 设置Repository的分支,如果您不确定它应该是什么,它可能是master或main
  • 选择在设置此存储库之前配置的访问密钥
  1. 配置完成后单击Save

编辑现有仓库

  1. 转到信号量的存储库部分
  2. 单击要更改的Repository旁边的铅笔图标,然后您将看到创建Repository时的相同选项

删除一个仓库

确保要删除的存储库没有被任何任务模板使用。在任何任务模板中使用的存储库不能被删除
转到信号量的存储库部分

  1. 单击要删除的存储库上的垃圾桶图标
  2. 如果确定要删除此Repository,则单击确认弹出框上的Yes。

本文转载自: https://blog.csdn.net/qq_42727362/article/details/127047767
版权归原作者 很白很白的小白程序员 所有, 如有侵权,请联系我们删除。

“自动化运维可视界面Ansible Semaphore使用教程”的评论:

还没有评论