0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

使ったコマンドから覚える!【Git Docker】

Posted at

はじめに

Git / Docker 触り始めたマンです。
実際使いだすと、ウッ過去の苦手意識が・・・
となりましたが、なんとかやってます。

今回は、とりあえず「実際に使ったコマンド」のみを記録する記事です。
流れを整理しつつ、実務ベースで習得していきたい!!
Dockerfileの作成などはなく、すべて引っ張ってくるケースです。

コマンドず

1. 下準備:git clone

git clone URLcloneしてくる。
ユーザー名とパスワードが必要な場合も

2. Dockerでイメージのビルド

  1. docker compose build
    docker-compose.yamlファイルで定義されたすべてのサービスのイメージをビルド
  2. docker compose up
    ビルドしたサービスを起動(イメージがビルドされてなければ自動でdocker compose buildを行うらしい?)。

3. ビルドされたサービスの中身を準備・起動

  1. docker-compose exec web bash
    webというコンテナ(サービス)の中でbashシェルを開始。これにより、「コンテナ内のCLI操作」が可能に。
    docker-compose exec コマンドは、稼働中のコンテナ内に入りコマンドを実行する。)
    webdocker-compose.yamlファイルで定義されている)
  2. bundle install
    Rubyの依存関係管理ツールBundler(gemのversion依存関係管理)を使用して、依存関係(gem)インストール。これにより、Railsが必要とするすべてのRubyライブラリがインストールされる。
  3. yarn install
    JSのパッケージマネージャーyarnを使用して、package.jsonに定義された依存関係をインストール。
  4. bin/rails db:create
    Railsのコマンドラインツールを使用して、データベースを作成。database.yml ファイルで指定された設定に基づき、必要なデータベースをセットアップ
  5. bin/dev
    Railsアプリケーションのサーバーが起動し、開発に必要な他のサービス(例えば、Webpacker、CSSのコンパイルサービスなど)も同時に起動。これにより、開発者は一つのコマンドでRailsアプリケーションの全ての関連サービスを起動できる。
    (Rails 7以降で導入された新しい開発サーバー起動コマンド)

4. ブランチを切る(新しいブランチを作成)

git switch -c branch_name
ブランチを切る(新しいブランチを作成)。git checkout -b branch_nameというやり方もあるが、checkoutコマンドは推奨されない。

5. コーディング・開発

僕の場合はhttp://localhost:3000/welcomesにアクセスしつつ、VSCodeでコーディング

6. テスト(specの実行)

docker compose run web bundle exec rspec
webの中で新しいコンテナを作成し、Bundlerを使用して指定されたコマンド(rspec)を実行。
rspecはRubyで広く使用されているテストフレームワーク。

docker compose rundocker compose execと同じくコンテナ内に入りコマンドを実行する。
違いは、runは新しいコンテナを作成するのに対し、execは既存のコンテナに入る。
bundle execを使用すると、Bundlerに従って正しいバージョンのrspecが使用されることが保証される。

~~ 0 failures

と表示されたら成功。

7. コミット・プッシュ

  1. git add file_name
    ステージング
  2. git commit -m 'message'
    コミット
  3. git push origin branch_name
    ローカルのブランチをリモートリポジトリ(通常はorigin)にpushする。

add / commit / push の前にgit statusでステージング漏れがないかチェックすると良い。

ちゃんとcommitできたか不安ならgit logでコミット履歴を表示できる。
また、git log -p file_nameで、詳細な変更履歴を見ることができる。

その他注意事項

所有者の変更

「Docker上で生成されたファイルは、所有者が異なるユーザーになっており、そのままでは編集できません。」の場合がある。
権限と所有者はls -l [directory_name]コマンドで確認できる。
所有者の変更は、ルートディレクトリでsudo chown -R $USER ./でできる。
./:現在のディレクトリを、sudo:管理者権限で、chownchange ownerするよ、-R:再帰的に(ファイルとサブディレクトリも)。owner$USER:現在ログインしているユーザーにしてね。

終わりに

書くことで頭の中でまとまったかな!と思います。見返せるし。
今日中に追記あればしていく予定!
あと、Docker / Git がいい感じにまとまってるサイト、おすすめの本、他経験談などあればお聞きしたい!TwitterでもQiitaでも。
お待ちしております。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?