{"id":40555522,"url":"https://github.com/apple-x-co/rocket","last_synced_at":"2026-04-02T16:25:23.231Z","repository":{"id":43652797,"uuid":"347778388","full_name":"apple-x-co/rocket","owner":"apple-x-co","description":"🚀 Deployment Tool ( Git, Rsync, Slack notify )","archived":false,"fork":false,"pushed_at":"2026-03-28T07:01:55.000Z","size":111,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-28T11:51:39.723Z","etag":null,"topics":["git","rsync","slack-api"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apple-x-co.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-14T23:18:34.000Z","updated_at":"2026-03-28T06:59:02.000Z","dependencies_parsed_at":"2023-01-30T23:45:15.506Z","dependency_job_id":null,"html_url":"https://github.com/apple-x-co/rocket","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/apple-x-co/rocket","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apple-x-co%2Frocket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apple-x-co%2Frocket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apple-x-co%2Frocket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apple-x-co%2Frocket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apple-x-co","download_url":"https://codeload.github.com/apple-x-co/rocket/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apple-x-co%2Frocket/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31309834,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","rsync","slack-api"],"created_at":"2026-01-21T00:35:12.375Z","updated_at":"2026-04-02T16:25:23.223Z","avatar_url":"https://github.com/apple-x-co.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rocket\n\nrsync によるファイル同期・Git pull・Slack 通知を組み合わせた、PHP 製のデプロイ CLI ツールです。\n\n## ✨ Features\n\n- **rsync によるファイル同期** — dry run / 確認付き / 強制の 3 モードに対応\n- **Git pull** — リモートに更新がある場合のみ pull を実行\n- **Slack 通知** — デプロイ完了時に差分ログ付きで自動通知\n- **設定ファイルテンプレート** — plain / CakePHP 3 / EC-CUBE 4 / WordPress に対応\n- **単一 phar ファイル** — インストール不要で即使用可能\n\n## 📋 Requirements\n\n- PHP 5.4 / 7.x / 8.x\n- Extensions: `ext-curl`, `ext-json`, `ext-posix`, `ext-zip`\n\n## 📦 Installation\n\n```bash\n# ダウンロード\nwget https://github.com/apple-x-co/rocket/releases/latest/download/rocket.phar\nchmod u+x rocket.phar\n\n# 最新版へのアップグレード\n./rocket.phar --upgrade\n```\n\n## 🚀 Quick Start\n\n典型的なセットアップから初回デプロイまでの流れです。\n\n```bash\n# 1. 設定ファイルを生成（テンプレートを選択）\n./rocket.phar --init \u003e ./rocket.json\n#   テンプレート: plain（デフォルト）, cakephp3, eccube4, wordpress\n#   例: ./rocket.phar --init=wordpress \u003e ./rocket.json\n\n# 2. 設定ファイルを検証\n./rocket.phar --config ./rocket.json --verify\n\n# 3. Slack 通知をテスト\n./rocket.phar --config ./rocket.json --notify-test\n\n# 4. ドライランで差分を確認\n./rocket.phar --config ./rocket.json --sync dry\n\n# 5. Git pull + デプロイ（確認あり）\n./rocket.phar --config ./rocket.json --git pull --sync confirm\n```\n\nデプロイ後、ファイルに変更があった場合は Slack に以下の内容が自動通知されます。\n\n- デプロイ実行ユーザー・ホスト名・URL\n- Git pull ログ（実行した場合）\n- rsync による変更ファイル一覧\n\n## 🛠 Commands\n\n### デプロイ（rsync）\n\n`--sync` の動作モード：\n\n| モード | 動作 |\n|--------|------|\n| `dry` | ドライランのみ（実際の転送は行わない） |\n| `confirm` | ドライランを表示し、`y` 入力で本実行 |\n| `force` | 確認なしで即実行 |\n\n```bash\n# ドライラン\n./rocket.phar -c ./rocket.json -s dry\n\n# Git pull してから確認付きデプロイ\n./rocket.phar -c ./rocket.json -g pull -s confirm\n\n# 強制デプロイのみ\n./rocket.phar -c ./rocket.json -s force\n```\n\n### Slack 通知\n\n```bash\n# 任意のテキストを通知\necho \"HELLO WORLD\" | ./rocket.phar -c ./rocket.json --notify\n\n# パイプで複数行も送信可能\ncat deploy.log | ./rocket.phar -c ./rocket.json --notify\n```\n\n### その他\n\n```bash\n# バージョン情報を表示\n./rocket.phar --info\n\n# ヘルプを表示\n./rocket.phar --help\n\n# 設定ファイルを検証\n./rocket.phar -c ./rocket.json --verify\n```\n\n## ⚙️ Options\n\n| Option | Short | Description |\n|--------|-------|-------------|\n| `--config \u003cfile\u003e` | `-c` | 設定ファイルのパス（JSON） |\n| `--git [pull]` | `-g` | Git 操作 |\n| `--sync [dry\\|confirm\\|force]` | `-s` | rsync 操作 |\n| `--notify` | `-n` | Slack 通知（stdin から読み込み） |\n| `--notify-test` | | Slack 通知テスト |\n| `--verify` | `-v` | 設定ファイルの検証 |\n| `--init [plain\\|cakephp3\\|eccube4\\|wordpress]` | `-i` | 設定ファイルテンプレートを出力 |\n| `--upgrade` | `-u` | 最新バージョンをダウンロード |\n| `--unzip \u003cpath\u003e` | | アップグレード時に使用する unzip のパス |\n| `--ssl [TLSv1_0\\|TLSv1_1\\|TLSv1_2\\|TLSv1_3]` | | SSL バージョンを指定 |\n| `--info` | | バージョン情報を表示 |\n| `--help` | `-h` | ヘルプを表示 |\n| `--no-color` | | カラー出力を無効化 |\n| `--debug` | | 実行コマンドをデバッグ表示 |\n\n## 📝 Configuration\n\n`--init` で生成される設定ファイルのリファレンスです。\n\n```json\n{\n  \"version\": \"1.1\",\n  \"user\": \"centos-user\",\n  \"url\": \"https://example.com/\",\n  \"slack\": {\n    \"channel\": \"channel-name\",\n    \"username\": \"project-name\",\n    \"incomingWebhook\": \"https://hooks.slack.com/services/xxx\",\n    \"icon\": \":tada:\"\n  },\n  \"source\": {\n    \"directory\": \"/home/sample/source/\"\n  },\n  \"destinations\": [\n    {\n      \"from\": \"/home/sample/source/htdocs/\",\n      \"to\": \"/var/www/vhosts/example.com/htdocs/\",\n      \"excludes\": [\n        \".gitkeep\",\n        \".gitignore\",\n        \"healthcheck.txt\"\n      ],\n      \"scripts\": [\n        {\n          \"path\": \"/path/to/script\",\n          \"option\": \"argument\"\n        }\n      ]\n    }\n  ],\n  \"rsync\": {\n    \"path\": \"/usr/bin/rsync\",\n    \"option\": \"--recursive --links --checksum --verbose --human-readable --delete\"\n  },\n  \"git\": {\n    \"path\": \"/usr/bin/git\"\n  }\n}\n```\n\n| Key | Required | Description |\n|-----|----------|-------------|\n| `user` | ✓ | デプロイを許可するシステムユーザー名 |\n| `url` | ✓ | デプロイ先 URL（Slack 通知に表示） |\n| `slack.channel` | ✓ | Slack チャンネル名 |\n| `slack.username` | ✓ | Slack 投稿ユーザー名 |\n| `slack.incomingWebhook` | ✓ | Slack Incoming Webhook URL |\n| `slack.icon` | | Slack アイコン（絵文字、デフォルト: `:sparkles:`） |\n| `source.directory` | | Git リポジトリのディレクトリパス |\n| `destinations[].from` | ✓ | rsync の転送元ディレクトリ |\n| `destinations[].to` | ✓ | rsync の転送先ディレクトリ |\n| `destinations[].excludes` | | rsync で除外するパス |\n| `destinations[].scripts` | | 同期後に実行するスクリプト |\n| `rsync.path` | | rsync のパス（デフォルト: `/usr/bin/rsync`） |\n| `rsync.option` | | rsync オプション |\n| `git.path` | | git のパス（デフォルト: `/usr/bin/git`） |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapple-x-co%2Frocket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapple-x-co%2Frocket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapple-x-co%2Frocket/lists"}