Führen Sie serverspec in Linux ein

Führen Sie serverspec in die Linux-Umgebung ein.

Erstellen einer Linux-Umgebung

Erstellen Sie eine Linux-Umgebung. https://qiita.com/mkuser9/items/079cc4244821c8e220c2

Ruby installieren

Die Serverspezifikation erfordert Ruby.

console


$ sudo yum -y install git
$ sudo yum install -y gcc gcc-c++ libyaml-devel libffi-devel libxml2 libxslt libxml2-devel libslt-devel
$ sudo yum install git-core
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l
$ source ~/.bash_profile
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
$ sudo yum install -y bzip2 gdbm-devel openssl-devel libffi-devel libyaml-devel ncurses-devel readline-devel zlib-devel
$ RUBY_CONFIGURE_OPTS=--disable-install-doc ~/.rbenv/bin/rbenv install 2.6.3
$ rbenv global 2.6.3 && rbenv rehash

Gemfile erstellen

Erstelle eine Gemfile und füge gem hinzu.

console


$ sudo vi Gemfile

Gemfile


source "https://rubygems.org"

gem 'serverspec'
gem 'rake'

console


$ bundle install

Installieren Sie die Serverspezifikation

Installieren Sie serverspec mit dem folgenden Befehl.

console


$ gem install serverspec

Beispieltest erstellen

console


$ serverspec-init

Select OS type:

  1) UN*X
  2) Windows

Select number: 1

Select a backend type:

  1) SSH
  2) Exec (local)

Select number: 2

Vagrant instance y/n: n
Input target host name: www.example.jp
 + spec/
 + spec/www.example.jp/
 + spec/www.example.jp/sample_spec.rb
 + spec/spec_helper.rb
 + Rakefile
 + .rspec

Beschreiben Sie den Testinhalt

Die Testdatei wird in spec / localhost / sample_spec.rb generiert. Ändern Sie daher die Testdatei entsprechend dem Inhalt des Tests.

console


vi spec/localhost/sample_spec.rb

Schreiben Sie den Test in sample_spec.rb.

sample_spec.rb(sample)


require 'spec_helper'

describe "Testen auf Git" do
  context "Umgebungseinstellung" do
    describe package('git'), :if => os[:family] == 'redhat' do
      it "Eingerichtet" do
        expect be_installed
      end
    end
  end
end

describe "git-Testen auf Kern" do
  context "Umgebungseinstellung" do
    describe package('git-core'), :if => os[:family] == 'redhat' do
      it "Eingerichtet" do
        expect be_installed
      end
    end
  end
end

describe "Testen auf httpd" do
  context "Umgebungseinstellung" do
    describe package('httpd'), :if => os[:family] == 'redhat' do
      it "Eingerichtet" do
        expect be_installed
      end

      it "aktiviert" do
        expect be_enabled
      end

      it "Laufen" do
        expect be_running
      end
    end
  end
end

describe "Auf Port prüfen" do
  context "Umgebungseinstellung" do
    describe port(80) do
      it "Gehört zu werden" do
        expect be_listening 
      end
    end
  end
end

Anfangszustand von sample_spec.rb.

sample_spec.rb(default)


require 'spec_helper'

describe package('httpd'), :if => os[:family] == 'redhat' do
  it { should be_installed }
end

describe package('apache2'), :if => os[:family] == 'ubuntu' do
  it { should be_installed }
end

describe service('httpd'), :if => os[:family] == 'redhat' do
  it { should be_enabled }
  it { should be_running }
end

describe service('apache2'), :if => os[:family] == 'ubuntu' do
  it { should be_enabled }
  it { should be_running }
end

describe service('org.apache.httpd'), :if => os[:family] == 'darwin' do
  it { should be_enabled }
  it { should be_running }
end

describe port(80) do
  it { should be_listening }
end

Führen Sie den Test aus

Führen Sie den Test mit dem folgenden Befehl aus.

console


$ rake spec

Recommended Posts

Führen Sie serverspec in Linux ein
[Linux] Einführung in Linux
Linux-Befehle zum Erinnern
Stellen Sie Elpy Emacs vor
Führen Sie PyQt5 in MacOS ein (Linux kann auch verwendet werden)
[Windows] RDP zu Windows über Linux
Eine super Einführung in Linux
[Linux] Willkommen im Notfallmodus!
Ich habe versucht, Linux wieder einzuführen
Ich habe versucht, Pylint vorzustellen
Einfaches Kopieren in die Zwischenablage unter Linux
Befehl zum Erstellen von Linux Live USB
Ein Memorandum zur Umstellung auf Manjaro Linux
So installieren Sie VMware-Tools unter Linux
Versuchen Sie, das Thema Pelican vorzustellen
So installieren Sie MBDyn (Linux Ubuntu)
Befehl [linux] kill, um den Prozess abzubrechen
Weg zu Intermediate Linux: Network Edition
Linux
Führen Sie die Echtzeitübersetzung zwangsweise in Zoom ein
Einführung von Amplify in Amazon Linux 2 AMI
Zeichencode-bezogene Linux-Befehle
So überprüfen Sie die Linux-Betriebssystemversion
[Windows] Übertragen Sie Ereignisprotokolle an Linux
Führen Sie die Python 3.5.2-Umgebung unter Amazon Linux ein
Wie baue ich meinen eigenen Linux-Server?
[Linux] Unterteilen von Dateien und Ordnern
[Rails] Einführung in Google Analytics [Easy]
[Linux] Übergang vom Einschalten zum PC-Start
So installieren Sie das aws-session-manager-Plugin unter Manajro Linux
[Memo lesen] Linux-Standardlehrbuch (Kapitel 1 bis Kapitel 6)
Ich möchte wissen, wie LINUX funktioniert!
[Linux] Verwendung des Befehls echo
Ich möchte Linux auf dem Mac verwenden
So aktualisieren Sie PHP unter Amazon Linux 2
So zeigen Sie Piktogramme unter Manjaro Linux an
So installieren Sie Pakete unter Alpine Linux
Tools zur Überprüfung der Linux-Netzwerkkommunikation
5 Gründe, Linux auf Ihrem Laptop zu installieren.
Stellen Sie über einen Remotedesktop eine Verbindung zu GNU / Linux her
So bedienen Sie Linux von der Konsole aus
[Linux Convenience-Befehl] Versuchen Sie, lebendig einzufügen
So installieren Sie das Windows-Subsystem für Linux
So schalten Sie Linux unter Ultra96-V2 aus
So aktualisieren Sie die Sicherheit unter CentOS Linux 8
Einführung der Python-Bibliothek TRML2PDF in MacOSX (10.11.xx)
Einführung eines japanischen Eingabesystems in Serene Linux
Wie installiere ich php7.4 unter Linux (Ubuntu)
Setzen Sie unter Ubuntu Linux Tab auf q
Einführung von Docker Engine in Linux von Grund auf neu
Arch Linux-Installation auf BIOS-Boot-System
Gewähren von Sudo-Berechtigungen für allgemeine Linux-Benutzer
So finden Sie große Dateien unter Linux
[Amazon Linux] Wechsel von der Python 2-Serie zur Python 3-Serie
Was tun nach der Installation von Linux (Ubuntu)