【GitHub Actions】CIを使って毎日自動でGitHubに草を生やそうwww
タイトルに草が生えてますし内容もネタですが、文章の調子は至って真面目な記事にする予定です。
分かる人は以下の
- fork する https://github.com/ykhirao/write-code-everyday-bot/
- GitHub Actionsを使えるように申請する(30分くらい)
-
touch .github/workflows/blank.yml
して後に記載のyamlファイルをpushする
以上で、なんとなくわかる方は以降の記事は読まなくても大丈夫かと思います。
name: CI
on:
schedule:
- cron: 0 0 * * * #JSTで9時
push: # 一度動作確認してActionsが動きそうならオフにする
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Run a one-line script
run: echo Hello, world!
- name: Run a multi-line script
run: |
echo Add other actions to build,
echo test, and deploy your project.
git config user.name "ykhirao-bot"
git config user.email "yk@example.com"
git remote set-url origin https://ykhirao:${{ secrets.GITHUB_TOKEN }}@github.com/ykhirao/write-code-everyday-bot-fork
git branch
git checkout master
git branch
./omikuji.sh >> README.md
git add .
git commit -m "update!"
git push origin master
前提条件確認
1. 草とは
こういうGitHubの個人ページに行った時に表示される、いつどれくらいコミットされてるかわかるので、エンジニアの技術評価に使われていたりする。
エンジニア系のHRサイトだと以下のようなところがGitHubのデータ解析してポイントつけてくれたりするので面白いかも。
⚠⚠今回私が紹介する方法でコミット数だけ増やしても実力は何も変わらないのでネタだと思ってください
⚠⚠エンジニア採用する会社さんもコミット数が多い人を採用するのではなく、ちゃんとどういうレポジトリにコミットしているとか、ちゃんと面談で聞いていくのがいいのではないかなと思います
設計確認
- 毎朝9時に占いをして、その結果をREADME.mdにコミットする
- それをPushする
簡単ですね。
これを読んで得ること
- スケジュールでいろんなスクリプトをフックできる環境が手に入る
- 毎月何かを実行したり、毎日運勢をSlackに送ったり…?
- GitHub Actions少し詳しくなる
- CircleCIなどにも応用できるので いわゆる
CI/CD
という分野のことが少しわかる
比較的初心者向けに書いていきますが、ある程度は省いていきます
間違いを見つけたとき、動かないとき
自分でデバックするか、このQiitaに編集リクエストくれると嬉しいかもです…
さて、毎日コミットする環境を作りましょう!!!!
ここからが本編です。
1. forkする
- 私のGitHubのページに行ってレポジトリをforkしてきてください
https://github.com/ykhirao/write-code-everyday-bot/
ここの Fork
というのを押して自分のGitHubへコピーします。
2. GitHub Actionsを有効にする
GitHub Actionsが有効になっていない人は有効にするために申請する。私の場合は夜中に30分待ちました。JST23時ころ。
3. GitHub Actionsを設定する
Set up this workflow
をクリックする
左側の編集画面に何も考えずに以下の文章を貼り付ける
name: CI
on:
push: # 一度動作確認してActionsが動きそうならオフにする # オフにしないとpushの無限ループにおちいるよ。
# schedule:
# - cron: 0 0 * * *
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Run a multi-line script
run: |
echo Add other actions to build,
echo test, and deploy your project.
git config user.name ${NAME}
git config user.email ${EMAIL}
git remote set-url origin https://${NAME}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repos }}
git branch
git checkout master
git branch
./omikuji.sh >> README.md
git add .
git commit -m "update!"
env:
NAME: ${{ github.actor }}
EMAIL: yk@example.com
REPO: write-code-everyday-bot
そしてコミットするとpushに反応して、CIが動き出す。
失敗してたらこのあたりに出てくるので、確認してみてください。たぶんパスワードがなくて失敗とかありそう。
最後に
CircleCIとかまともに設定いじったことなかったので、初めてのCIでした。すごく楽しかったのでまたスケジュールでhookできる面白そうな何かがあれば触ってみたいなと思ってます!!!
ここまで読んでいただきありがとうございました!
参考にした資料
.