ラズパイのリソースが余っていたので、semaphore を導入して遊んでみようと思います。
※ 事前に下記を導入する必要ありです。
・MySQL >= 5.6.4/MariaDB >= 5.3
・git >= 2.x
## epel レポジトリ追加 cat > /etc/yum.repos.d/epel.repo << EOF [epel] name=Epel rebuild for armhfp baseurl=https://armv7.dev.centos.org/repodir/epel-pass-1/ enabled=1 gpgcheck=0 EOF ## Ansible の導入 yum install ansible ## ソースの取得&初期設定 mkdir /usr/local/semaphore mkdir /opt/semaphore cd /usr/local/src wget https://github.com/ansible-semaphore/semaphore/releases/download/v2.5.1/semaphore_2.5.1_linux_armv6.tar.gz tar zxf semaphore_2.5.1_linux_armv6.tar.gz ./semaphore -setup ## 実行ログ [root@sanuki-raspi-nas01 src]# ./semaphore -setup Hello! You will now be guided through a setup to: 1. Set up configuration for a MySQL/MariaDB database 2. Set up a path for your playbooks (auto-created) 3. Run database Migrations 4. Set up initial semaphore user & password > DB Hostname (default 127.0.0.1:3306): 127.0.0.1:3306 > DB User (default root): root > DB Password: sanuki > DB Name (default semaphore): semaphore > Playbook path (default /tmp/semaphore): /opt/semaphore > Web root URL (optional, example http://localhost:8010/): http://localhost:8010/ > Enable email alerts (y/n, default n): n > Enable telegram alerts (y/n, default n): n > Enable LDAP authentication (y/n, default n): n Generated configuration: { "mysql": { "host": "127.0.0.1:3306", "user": "root", "pass": "sanuki", "name": "semaphore" }, "port": "", "tmp_path": "/opt/semaphore", "cookie_hash": "k2uoMRgkbFL/UDQvaPZsMcLbqWSJIPafcgYtjWFjTg8=", "cookie_encryption": "hDysRlIpGNxW7PFKVImtmi4Pi5Qqg6GmxLhU03X+mVM=", "email_sender": "", "email_host": "", "email_port": "", "web_host": "http://localhost:8010/", "ldap_binddn": "", "ldap_bindpassword": "", "ldap_server": "", "ldap_searchdn": "", "ldap_searchfilter": "", "ldap_mappings": { "dn": "", "mail": "", "uid": "", "cn": "" }, "telegram_chat": "", "telegram_token": "", "concurrency_mode": "", "max_parallel_tasks": 0, "email_alert": false, "telegram_alert": false, "ldap_enable": false, "ldap_needtls": false } > Is this correct? (yes/no): yes > Config output directory (default /usr/local/src): /usr/local/semaphore Running: mkdir -p /usr/local/semaphore.. Configuration written to /usr/local/semaphore/config.json.. Pinging db.. Running DB Migrations.. Checking DB migrations Creating migrations table Executing migration v0.0.0 (at 2020-09-18 02:17:34.184823983 +0900 JST m=+81.438963933)... [11/11] Executing migration v1.0.0 (at 2020-09-18 02:17:35.823845162 +0900 JST m=+83.077984871)... [7/7] Executing migration v1.1.0 (at 2020-09-18 02:17:36.679280042 +0900 JST m=+83.933420011)... [1/1] Executing migration v1.2.0 (at 2020-09-18 02:17:36.767607043 +0900 JST m=+84.021746974)... [1/1] Executing migration v1.3.0 (at 2020-09-18 02:17:36.881818644 +0900 JST m=+84.135958038)... [3/3] Executing migration v1.4.0 (at 2020-09-18 02:17:37.020016932 +0900 JST m=+84.274156808)... [2/2] Executing migration v1.5.0 (at 2020-09-18 02:17:37.106031563 +0900 JST m=+84.360171253)... [1/1] Executing migration v0.1.0 (at 2020-09-18 02:17:37.144696735 +0900 JST m=+84.398836537)... [6/6] Executing migration v1.6.0 (at 2020-09-18 02:17:37.258300328 +0900 JST m=+84.512440000)... [4/4] Executing migration v1.7.0 (at 2020-09-18 02:17:37.444168013 +0900 JST m=+84.698307797)... [Unit] [1/1] Executing migration v1.8.0 (at 2020-09-18 02:17:37.487883012 +0900 JST m=+84.742022795)... [2/2] Executing migration v1.9.0 (at 2020-09-18 02:17:37.535266506 +0900 JST m=+84.789406326)... [2/2] Executing migration v2.2.1 (at 2020-09-18 02:17:37.595956582 +0900 JST m=+84.850096384)... [2/2] Executing migration v2.3.0 (at 2020-09-18 02:17:37.687595511 +0900 JST m=+84.941735239)... [3/3] Executing migration v2.3.1 (at 2020-09-18 02:17:37.820249981 +0900 JST m=+85.074389802)... [1/1] Executing migration v2.3.2 (at 2020-09-18 02:17:37.870296322 +0900 JST m=+85.124436179)... [1/1] Executing migration v2.4.0 (at 2020-09-18 02:17:37.914739049 +0900 JST m=+85.168878703)... [1/1] Executing migration v2.5.0 (at 2020-09-18 02:17:37.95180208 +0900 JST m=+85.205941919)... [1/1] Migrations Finished > Username: sanuki > Email: xxxxxxxxxxxxxxx > Your name: sanuki > Password: sanuki You are all setup sanuki! Re-launch this program pointing to the configuration file ./semaphore -config /usr/local/semaphore/config.json To run as daemon: nohup ./semaphore -config /usr/local/semaphore/config.json & You can login with n41210guitar@gmail.com or sanuki. ## 起動ファイル作成 mv /usr/local/src/semaphore /usr/local/bin/ vi /usr/lib/systemd/system/semaphore.service ============================================================================= [Unit] Description=semaphore After=network.target [Service] Type=simple ExecStart=/usr/local/bin/semaphore -config /usr/local/semaphore/config.json ExecStop=/usr/bin/pkill semaphore RemainAfterExit=yes [Install] WantedBy=multi-user.target ============================================================================= ## サービス起動 systemctl daemon-reload systemctl start semaphore systemctl enable semaphore
3000 ポートで listen するので http://localhost:3000 で接続ですね。