跑台 是一款用於自動化服務的免費開源軟件。 它允許自助訪問他們完成工作所需的流程和工具。 使用 Rundeck,您可以從現有工具或腳本創建自動化工作流。 它提供了一個 Web 控制台、CLI 工具和一個 Web API 來運行自動化任務。
在本教程中,我們將學習如何 安裝 Rundeck 社區上 Ubuntu 20.04.
先決條件
- 一個至少有 2 個 CPU 的 Ubuntu 20.04 實例
- 4 GB 內存
- 20 GB 硬盤
- Java 8 或更高版本
- 數據庫 – MySQL/MariaDB、Oracle 或 PostgrSQL
- 日誌存儲,用於作為默認文件系統或 S3 兼容對象存儲的日誌
- 端口 4440 (http) 和 4443 (https) 打開
第 1 步:在 Ubuntu 上安裝 Java
Rundeck 需要 Java 8 或 Java 11 正常運行。 如果默認情況下未安裝,請使用以下命令安裝 Java。
一、更新倉庫的緩存
$ sudo apt update
現在要安裝 Java 11,請運行以下命令:
$ sudo apt install openjdk-11-jre-headless
您可以驗證版本:
java -version
第 2 步:在 Ubuntu 上安裝 MySQL
Rundeck 支持 MySQL、PostgreSQL、Oracle 和 MS SQL Server 來存儲其數據。 在我們的例子中,我們將使用 MySQL。
要在 Ubuntu 上安裝 MySQL,請運行以下命令:
$ 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 步:在 Ubuntu 20.04 上安裝 Rundeck
在這裡,我們將安裝 Rundeck 社區版本。 你可以 下載 deb 包 通過填寫表格或從官方存儲庫直接從網站獲取文件。
在這裡我要從安裝 官方倉庫 這始終確保擁有最新版本。
為此,我們將首先導入 repo 簽名密鑰。
$ curl -L https://packages.rundeck.com/pagerduty/rundeck/gpgkey | sudo apt-key add -
然後我們添加Rundeck的sources list文件 /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 終止。 這有助於 Rundeck 支持 SSL/HTTPS。
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 界面
現在您可以轉到瀏覽器並使用 URL https://rundeck.domain.com 訪問 Rundeck
對於 Rundeck Web 界面訪問,用戶名是 admin
密碼是我們之前編輯的那個 NEW_ADMIN_PASSWORD
.
現在您可以訪問您的 Rundeck

您可以創建一個新項目以開始配置。
結論
在本教程中,我們學習瞭如何在 Ubuntu 20.04 服務器上安裝 Rundeck 社區版。 您可以進行一些配置並創建一個新項目以開始使用您的 Rundeck