この記事は「フィヨルドブートキャンプ Advent Calendar 2020 Part 1」 23日目の記事で書いた下記記事の内容が膨大になったため事前準備を分離したものです。
是非本編からご覧ください。
GitHubにリポジトリを作ったり、テストコードを書いたりする記事になります。
Contents
GItHubActionsを試す前の事前準備
Gitの準備
Gitはローカルにインストールしておきます。
brew install gitインストールはHomebrewを使うといいかもしれません。
-bash: brew: command not foundもしなければ上記のように表示されます。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"その場合は上記コマンドでhomebrewをインストールしてからもう一度インストールを試してください。
git --versionGitが入っているかどうか確かめておきます。
git version 2.24.3 (Apple Git-128)大丈夫そうですね。
【GitHub】リモートリポジトリを作成しよう
GItHubのアカウントがない場合は作成しましょう。
GitHub公式
GitHubでコードを管理するためのクラウド上のリポジトリーを作成します(リモートリポジトリ)
GitHubにログインします。

ログインしたら右上プルダウンからRepositoriesを選んで進みます。

右上のほうにあるNEWを押します。
(プロフィール画像は昔に通りすがりの方に書いていただいたものです。実物とは大きくかけ離れている場合があります。)

リポジトリー名をつけてCreate repositoryを押して保存します。
GitHubActionsはpublicで作成したリポジトリーでは無料のようなので
今回はpublicにしておきましょう。
Descriptionにはこのリポジトリーの説明を書いておきます。

作成されたら自動的に以下の画面に移動します。

これでリモートリポジトリは完成です。
次はこのリポジトリを手元のパソコンにクローンしていきます。(環境を作る)
【ローカル】リポジトリーをクローン、ローカルリポジトリーを作成しよう
見出しは難しいですが作業は簡単です。
先ほど作ったリポジトリの画面に移動します。
もしくは、リポジトリ作成後に移動した画面の水色の範囲にあるURLを
ボタンがHTTPSになっていることを確認してコピーします。

ローカルのコンソールを開きます(macで行っています)

リポジトリーをおくためのディレクトリーまで移動しよう。
今回は以下のパスに作成します。
cd ~/Dev/git cloneコマンドで先ほど作成したリポジトリをコピーしてきます。
git clone 【コピーしたリポジトリURL】【作成したいディレクトリ名】私の場合は下の画像のように作って確認しました。
クローンで作成されたディレクトリには.gitというgitの隠しディレクトリが作成されています。

作ったディレクトリに移動して、さらに2つのディレクトリを作成します。
コードを入れるディレクトリ「lib」と
テストコードを入れるディレクトリ「test」です。
cd ./actions-testディレクトリ作成コマンドを2回。
mkdir libmkdir test
これで入れ物が作成されました!
階層はこんな感じになっているはずです。

次はコードとテストコードを作成します。
【ローカル】コードを書いてみよう
それではコードを書いていきます。
今回はRubyでよくみるFizzBuzz問題を例にしました。
入力された数字に対して以下の条件で出力を行いなさい
・3の倍数の時は「Fizz」を出力
・5の倍数の時は「Buzz」を出力
・3と5の倍数の時は「FizzBuzz」を出力
libのフォルダに移動してVimコマンドでコードを書きます。
libフォルダに〇〇.rbというRubyのコードが作成できれば方法は問いません。
cd ./lib vim fizzbuzz.rb
初歩的なコードですが、以前書いたものを書き直してみました。
※できれば皆さんで挑戦して書いてみてください。
def fizzbuzz(num)
# 3と5の倍数の場合
if (num % 3).zero? && (num % 5).zero?
'FizzBuzz'
# 3の倍数の場合
elsif (num % 3).zero?
'Fizz'
# 5の倍数の場合
elsif (num % 5).zero?
'Buzz'
# 数値を出力
else
num.to_s
end
end【ローカル】テストコードを書いてみよう
次にfizzbuzz.rbをテストするコードを書きます。
今回はRuby1.8以降同時に入っているMinitestを使ってテストを行います。
テストコードは以下のように書きました。
require 'minitest/autorun'
require '../lib/fizzbazz'
class FizzBuzzTest < Minitest::Test
# テストメソッドを実行
def test_fizzbuzz
assert_equal '1', fizzbuzz(1)
assert_equal '2', fizzbuzz(2)
assert_equal 'Fizz', fizzbuzz(3)
assert_equal '4', fizzbuzz(4)
assert_equal 'Buzz', fizzbuzz(5)
assert_equal 'Fizz', fizzbuzz(6)
assert_equal 'FizzBuzz', fizzbuzz(15)
end
end
Minitestでは 「test_」とついたテストメソッドを実行します。
メソッド内に書いた
assert_equal ’1’, fizzbuzz(1)は
fizzbuzzに1を引数として渡して実行、帰ってきた結果が’1’ならばTrueとするという意味です。
これで1,2,3,4,5,6,15,16を入れてテストします。
3と5と15の前後をチェックできているのでOKかと思います。
【ローカル】リモートリポジトリにプッシュする
作成した2つのディレクトリと中身のファイルを
最初に作成したリモートリポジトリにpush(アップロード)します。
actions-testまで移動してgitコマンドを実行しましょう。
cd ~/Dev/actions-testgit add コマンドでコミット()する対象リストに載せます。
git add ./libgit add ./testgit commitコマンドでコミットします。
コミットにはコメントが求められるので、後ろに-m ‘コメント内容’をつけて
コミット内容のコメントを書きましょう。
git commit -m 'fizzbuzzコードとテストコードを追加'-m無しで行っても結局コメントは書くことになるので、-mをつけることをお勧めします。
git push origin masterGitHubを見に行ってみましょう。
リモートのリポジトリに2つのディレクトリと
fizzbuzzのコードとテストコードが追加されていればOKです!

※私のコメントが揃っていないのはテストコードをコミットを忘れ、後から追加したからです。
これでようやくGitHubActionsを使うための準備が整いました!
それでは本編に戻ります。
https://azitama.com/?p=1734











