使用Salt-Stack成功安装ArtiFactory RPM [英] Successfully Install Artifactory RPM using Salt-Stack

查看:19
本文介绍了使用Salt-Stack成功安装ArtiFactory RPM的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Salt Stack完全自动化一些事情。我目前正在通过Salt Stack使用RPM安装ArtiFactory V5.3.2。我能够让它安装并正常工作,但开始从盐堆栈得到一个假阳性错误。

当前在CentOS Linux release 7.3.1611 (Core)上运行,带有来自here的无主控盐堆栈(仅用于测试目的)。根据ArtiFactory文档,他们建议使用yum来安装rpm包。 Installing Artifactory OSS from an RPM disribution

我知道有两个盐公式用于类似的用例,但对于我们的需求来说,它们太复杂了。我尝试发布它们的两个URL,但SaltStack没有足够的声誉允许我这样做。

下载rpm并将其放入正确的目录后..在第一次尝试安装时,使用此盐堆栈配置无法正常工作:

jfrog-artifactory-oss.noarch:
  pkg.installed:
    - source: salt://path/conf/jfrog-artifactory-oss-5.3.2.rpm

返回如下错误消息:

ID: jfrog-artifactory-oss.noarch
Function: pkg.installed
  Result: False
 Comment: Error occurred installing package(s). Additional info follows:`

         errors:
              - Running scope as unit run-2994.scope.
                Loaded plugins: fastestmirror
                Loading mirror speeds from cached hostfile
                 * base: mirror.steadfast.net
                 * epel: mirror.steadfast.net
                 * extras: repo.us.bigstepcloud.com
                 * updates: mirrors.lga7.us.voxel.net
                No package jfrog-artifactory-oss available.
                Error: Nothing to do
 Started: 15:51:12.374898
Duration: 11271.36 ms
 Changes:

对SALT使用此配置:

jfrog-artifactory-oss.noarch:
  cmd.run:
    - name: yum install -y /srv/salt/prod/path/conf/jfrog-artifactory-oss-5.3.2.rpm

第一次有效,但第二次使用此格式运行时返回错误,如下所示:

          stderr:
              Error: Nothing to do
          stdout:
              Loaded plugins: fastestmirror
              Examining /srv/salt/prod/path/conf/jfrog-artifactory-oss-5.3.2.rpm: jfrog-artifactory-oss-5.3.2-50047.noarch
              /srv/salt/prod/path/conf/jfrog-artifactory-oss-5.3.2.rpm: does not update installed package.

现在,不要把事情搞糊涂了..如果我安装了artiFactory,然后使用pkg.installed方法恢复到第一种安装方法,则一切正常,并返回一条成功消息,提示‘所有指定的程序包都已安装’。

通常,这种误报是由于未在SALT状态文件中使用正确的包名称导致的,因此运行yum list installed会返回以确保我在SALT状态下使用正确的命名。

我希望这个工作成功,无论它是否更新包;不需要过度复杂的设置与提供的盐公式。

如有任何帮助/建议,我们将不胜感激。

推荐答案

ArtiFactory RPM可以使用yum存储库和rpm直接安装。我个人建议使用yum方式,因为它使将来的更新更容易。

回答您有关使用无主安装程序的问题-这两个选项在无主安装程序主安装程序中功能齐全。

和一个附注。默认情况下,pkg.installed将尝试使用您的操作系统原生的包管理器(对于RedHat/CentOS,yum/rpm)。在大多数情况下,安装包时应该使用它,而不是直接调用yumrpm

使用YUM

我们应该做的第一件事是获取有关yum存储库的.repo文件保存信息。不幸的是,documentation中引用的那个文件指向具有PRO版本的ArtiFactory的存储库。因为我们对OSS感兴趣,所以我们应该使用different one

要设置它,我们将首先制作包含以下内容的.repo文件:

[bintray--jfrog-artifactory-rpms]
name=bintray--jfrog-artifactory-rpms
baseurl=http://jfrog.bintray.com/artifactory-rpms
gpgcheck=0
repo_gpgcheck=0
enabled=1
现在,我们应该使用SALT将yum配置为使用此.repo文件,并从此存储库中安装ArtiFactory。假设yum配置文件位于files/jfrog-artifactory.repo下的Salt树中,则Salt配置将如下所示:

/etc/yum.repos.d/artifactory.repo:
  file.managed:
    - source: salt://files/jfrog-artifactory.repo

jfrog-artifactory-oss:
  pkg.installed:
     - require:
       - file: /etc/yum.repos.d/artifactory.repo
     - fromrepo: bintray--jfrog-artifactory-rpms

-fromrepo选项将确保程序包是使用特定的yum存储库安装的,以防它可能在其他存储库中可用。

使用RPM

也可以直接将ArtiFactory RPM下载到您的Salt配置中并从那里安装它。为此,我使用了以下RPM文件:https://bintray.com/jfrog/artifactory-rpms/download_file?file_path=jfrog-artifactory-oss-5.3.2.rpm。假设该文件已下载到Salt树的files/jfrog-artifactory-oss-5.3.2.rpm中,则安装该包的状态将如下所示:

jfrog-package:
  pkg.installed:
    - sources:
      - jfrog-artifactory-oss: salt://files/jfrog-artifactory-oss-5.3.2.rpm
请注意,-sources部分是键-值对列表,其中key是包的名称,value是RPM文件的路径。顶级jfrog-package只是一个标签

这篇关于使用Salt-Stack成功安装ArtiFactory RPM的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆