16
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitHubに自動コミット&プッシュするシェルスクリプト

Last updated at Posted at 2020-08-30

作成目的

エンジニアを目指している方なら分かると思いますが、企業側はGitHubの草の生え方を見て「学習しているのか?」を確認します。
GitHubの草が全てではないですが、「草が生えている=勉強している」となり、とてもいい印象を与えます。(他にもQiitaの投稿、ブログへのアウトプット記事もいい印象を与えます。)

毎日ポートフォリオ作りに励んでいるが、毎日プッシュしないので草が生えない。けど、草を生やしたい
と思っている方に向けて作成しました。

毎日コミット&プッシュをするとこんな感じに生えます。
これを目指しましょー!!
スクリーンショット 2020-08-30 7.32.35.png

完成までの流れ

1.作成しているポートフォリオをGitHubのリポジトリの管理下に置く
(この作業は本記事では省略します。)
2.シェルスクリプト作成
3.cronで定期実行設定

上記の流れですが、1.の説明は省略して2.から説明します。

2.シェルスクリプト作成

GitHubのリポジトリの管理下に置いているポートフォリオが『PostBlog』だと仮定して話を進めていきます。

shellscript/automatic_commit
#!/bin/bash
##########################################################
#概要 :PostBlogのshow.html.erbファイルの最終行に改行コードを挿入。
#      挿入後、コミット&プッシュを実行
##########################################################
#--------------------------------------------------------------
#変数宣言
#--------------------------------------------------------------
#ルートディレクトリ〜PostBlogまでの絶対パスを記載(自分の環境に合わせて変更してください)
DIR="${HOME}/Ruby/projects/PostBlog"  
#PostBlog〜改行を入れるファイルまでのパスを記載(自分の環境に合わせて変更してください)  
newline_file="/app/views/users/show.html.erb"

#--------------------------------------------------------------
#改行付加
#--------------------------------------------------------------
#${HOME}/Ruby/projects/PostBlog/app/views/users/show.html.erbの最終行に改行を挿入
echo "" >>$DIR$newline_file

#--------------------------------------------------------------
#GitHubにコミット&プッシュ
#--------------------------------------------------------------
cd $DIR
git add .
git commit -m"最終行に改行を挿入"
git push origin master

シェルスクリプトは完成!!
試しに実行してみたい方はこちらを実行

shellscript
$./automatic_commit

3.cronで定期実行設定

作成したシェルスクリプトを定期実行する様に設定をしたら完成となります。
毎日12時にシェルスクリプトが実行される様に設定していきます。

#cron設定を開く
$crontab -e

スクリーンショット 2020-08-30 9.21.54.png

iでインサートモードに変更してcronを設定していきます。

スクリーンショット 2020-08-30 9.25.28.png

設定後、escキー押して:wqで保存終了

詳細
# (分)(時)(日)(月)(曜日) 実行するコマンドのパス

設定確認

$crontab -l
00 12 * * * bash ./shellscript/automatic_commit

設定されていたら完成!!!!

16
14
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?