ランデッキ 自動化サービス用の無料のオープンソースソフトウェアです。 仕事を遂行するために必要なプロセスとツールへのセルフサービスアクセスを提供します。 Rundeckを使用すると、既存のツールまたはスクリプトから自動化ワークフローを作成できます。 自動化タスクを実行するためのWebコンソール、CLIツール、およびWebAPIを提供します。
このチュートリアルでは、 Rundeckをインストールします 上のコミュニティ Ubuntu 20.04。
前提条件
- 少なくとも2つのCPUを搭載したUbuntu20.04インスタンス
- 4 GB RAM
- 20GBのハードディスク
- Java8以降
- データベース-MySQL / MariaDB、OracleまたはPostgrSQL
- デフォルトのファイルシステムまたはS3互換のオブジェクトストアのいずれかであるログのログストア
- ポート4440(http)および4443(https)が開かれました
ステップ1:UbuntuにJavaをインストールする
Rundeckには Java8またはJava11 正しく機能するために。 デフォルトでインストールされていない場合は、次のコマンドを使用してJavaをインストールします。
まず、リポジトリのキャッシュを更新します
$ sudo apt update
ここでJava11をインストールするには、次のコマンドを実行します。
$ sudo apt install openjdk-11-jre-headless
バージョンを確認できます。
java -version
ステップ2:UbuntuにMySQLをインストールする
Rundeckは、MySQL、PostgreSQL、Oracle、およびMS SQLServerをサポートしてデータを保存します。 この例では、MySQLを使用します。
MySQLをUbuntuにインストールするには、次のコマンドを実行します。
$ sudo apt install mysql-server
次に、起動時にMySQLサービスを有効にし、次のように入力します。
$ sudo systemctl enable mysql-server
次に、データベースにアクセスします。
$ mysql -u root -p
Rundeckデータベースとユーザーを作成します。
mysql> CREATE DATABASE rundeckdb;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER 'rundeck_user'@'localhost' IDENTIFIED BY 'PASSWORD';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'rundeck_user'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
bye
ステップ3:Ubuntu20.04にRundeckをインストールする
ここでは、Rundeckコミュニティバージョンをインストールします。 あなたはどちらかをすることができます debパッケージをダウンロードする フォームに記入するか、公式リポジトリからWebサイトから直接ファイルします。
ここからインストールします 公式リポジトリ これは常に最新バージョンであることを保証します。
そのためには、最初にリポジトリ署名キーをインポートします。
$ curl -L https://packages.rundeck.com/pagerduty/rundeck/gpgkey | sudo apt-key add -
次に、Rundeckのソースリストファイルを追加しましょう /etc/apt/sources.list.d/rundeck.list
$ sudo vim /etc/apt/sources.list.d/rundeck.list
deb https://packages.rundeck.com/pagerduty/rundeck/any/ any main
deb-src https://packages.rundeck.com/pagerduty/rundeck/any/ any main
リポジトリのキャッシュを更新します
$ sudo apt update
次に、aptコマンドを使用してRundeckをインストールし、次のように入力します。
$ sudo apt install rundeck
ここで、Rundeckにデータベースの接続方法を指示する必要があります。 いくつかの更新で構成ファイルを編集します。 すでに存在している行を、構成に一致する適切な値に置き換えてください。
$ sudo vim /etc/rundeck/rundeck-config.properties
grails.serverURL=https://YOUR_SERVER_IP:4440
dataSource.driverClassName = org.mariadb.jdbc.Driver
dataSource.url = jdbc:mysql://localhost/rundeckdb?autoReconnect=true&useSSL=false
dataSource.username = rundeck_user
dataSource.password = PASSWORD
別のデータベースをインストールした場合は、一部の構成を変更する必要があります。
次に、起動時にサービスを有効にします
$ sudo systemctl enable rundeckd.service
次に、Rundeckサービスを開始します。
$ sudo systemctl start rundeckd.service
ステータスを確認できます
$ sudo systemctl status rundeckd.service
● rundeckd.service - LSB: rundeck job automation console
Loaded: loaded (/etc/init.d/rundeckd; generated)
Active: active (running) since Sat 2021-11-06 01:05:34 UTC; 2s ago
Docs: man:systemd-sysv-generator(8)
Process: 229955 ExecStart=/etc/init.d/rundeckd start (code=exited, status=0/SUCCESS)
Main PID: 229976 (java)
Tasks: 12 (limit: 2279)
Memory: 114.7M
CGroup: /system.slice/rundeckd.service
└─229976 java -Drundeck.jaaslogin=true -Djava.security.auth.login.config=/etc/rundeck/jaas-loginmodule.conf -Dloginmodule.name=RDpropertyfilelogin -Drdeck.config=/etc/rundeck -Drundeck.server.configDir=/etc/rundeck -D>
Nov 06 01:05:34 li663-64 systemd[1]: Starting LSB: rundeck job automation console...
Nov 06 01:05:34 li663-64 rundeckd[229955]: * Starting rundeckd
Nov 06 01:05:34 li663-64 rundeckd[229955]: ...done.
Nov 06 01:05:34 li663-64 systemd[1]: Started LSB: rundeck job automation console.
まず、のデフォルトのパスワードを変更する必要があります admin デフォルトのユーザーはまだです admin
$ sudo vim /etc/rundeck/realm.properties
admin:NEW_ADMIN_PASSWORD,user,admin,architect,deploy,build
この時点で、すべてが機能していることを確認したい場合は、IPとポート4440を使用してRundeckにアクセスを試みることができますが、前にファイアウォールで開く必要があります。
Nginxを使用するため、RundeckのURLを変更するには、他のいくつかの構成ファイルを編集する必要があります。 NginxがRundeckにアクセスするために使用するURLを指定する必要があります。 最初に編集します /etc/rundeck/framework.properties
構成ファイル
$ sudo vim /etc/rundeck/framework.properties
framework.server.url = https://rundeck.domain.com
次に、再編集します /etc/rundeck/rundeck-config.properties
構成ファイル。 これは、サーバーのIPアドレスとデフォルトのポートを示すために使用したものですが、ドメイン名を入力します。
$ sudo vim /etc/rundeck/rundeck-config.properties
grails.serverURL=https://rundeck.websitefortesting.com
ステップ4:SSLで終了したプロキシ
ここでは、Nginxを リバースプロキシ SSLターミネーション用。 これは、SSL / HTTPSをサポートするRundeckに役立ちます。
Nginxはaptリポジトリで利用できます。次のコマンドを使用して簡単にインストールできます。
$ sudo apt install nginx
次に、Rundeckドメインの証明書をコピーする必要があります。
$ sudo cp rundeck.domain.com.crt /etc/nginx/certs/rundeck.domain.com.crt
キーもコピーする必要があります
$ sudo cp rundeck.domain.com.key /etc/nginx/certs/rundeck.domain.com.key
競合を避けるために、デフォルトの構成ファイルを削除しましょう
$ sudo rm /etc/nginx/sites-enabled/default
それでは、Rundeckの構成ファイルを作成しましょう。
$ sudo vim /etc/nginx/sites-available/rundeck.conf
server {
server_name rundeck.domain.com;
listen 80 ;
access_log /var/log/nginx/rundeck.log;
return 301 https://$host$request_uri;
}
server {
server_name rundeck.domain.com;
listen 443 ssl http2 ;
access_log /var/log/nginx/rundeck.log;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
ssl_certificate /etc/nginx/certs/rundeck.domain.com.crt;
ssl_certificate_key /etc/nginx/certs/rundeck.domain.com.key;
add_header Strict-Transport-Security "max-age=31536000";
location / {
proxy_pass https://localhost:4440;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
それでは、構成ファイルを有効にしましょう
$ sudo ln -s /etc/nginx/sites-available/rundeck.conf /etc/nginx/sites-enabled/rundeck.conf
Nginx構成を確認してください
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
ステップ5:Rundeckインターフェイスにアクセスする
これで、ブラウザにアクセスして、URLhttp://rundeck.domain.comでRundeckにアクセスできます。
Rundeck Webインターフェイスアクセスの場合、ユーザー名は次のとおりです。 admin
パスワードは以前に編集したものです NEW_ADMIN_PASSWORD
。
これで、Rundeckにアクセスできます

新しいプロジェクトを作成して、構成から始めることができます。
結論
このチュートリアルでは、Ubuntu20.04サーバーにRundeckコミュニティエディションをインストールする方法を学びました。 Rundeckの使用を開始するために、いくつかの構成を作成し、新しいプロジェクトを作成できます