etckeeperでgithubに自動プッシュをする

Author:

etc配下を自動的に定期コミットしてくれるetckeeperというソフトがあります。
httpd.confをどう変えたっけ、とかyumで何を入れたっけ、とかそういうのを管理するのには非常に便利なソフトです。
このツール、gitなりmercurialなりにコミットはしてくれるのですが、あくまでコミットだけ。
リモート側へプッシュはしてくれません。

ってことで、リモート側へプッシュする方法をメモしておきます。
とりあえずgitのみ。

リモートリポジトリをセット

当然ですが、gitにリモートリポジトリの場所を教えてあげないといけませんね。

git remote origin git@github.com:xxx/sample.git
(ssh接続の場合)

こんな感じにoriginを設定してあげましょう。

パスワード無しでプッシュできるようにする

githubの場合、ssh経由かhttps経由か選ぶことができますが、ssh経由の場合は公開鍵を登録する必要があります。
ターミナル側で

ssh-keygen -t rsa

こんな感じで鍵を生成し、.ssh/id_rsa.pubをgithubに追加させてあげましょう。
後は一度gitコマンド何か叩いて、The authenticity of hostの問にyesと答えておきましょう。
これでパスワード無しで接続できるようになります。
httpsの場合は、上述のgit remote originでhttps://username:password@github.comとべた書きしてしまうのが簡単です。
パスワード平文はちと危険度が高いですが、どっちにしろサーバーへ入られたらおしまいですし。
気にしても仕方ないですね。

.gitignoreの設定

プッシュされてしまうのですから、うっかりpublic設定になっているoriginに対してパスワードファイルとかpushされる可能性が出てきます。
ってことで危険なファイルがあったら.gitignoreの設定をしておきましょう。
プッシュするからには油断しないように。

cronコマンドの修正

ここまでやったら後はpushコマンドをcronに登録。
/etc/etckeeper/dailyに

etckeeper commit "daily autocommit" >/dev/null

とコミットしている箇所があるので、その次の行にpushを入れればいいです。

git push -u origin master

もしくは

etckeeper vcs push -u origin master

こんな感じで良いかと。
gitlabとかで社内リポジトリを管理している場合は良いけど、githubに上げる場合はprivateリポジトリであることを確認しましょうね。

設定ファイルの管理にetckeeper

Facebook にシェア
Pocket