リモートリポジトリ(中央リポジトリ)とは?
Git等の分散型のバージョン管理システムを使う際に、皆がアクセスすることができるリポジトリのことでインターネット上の共同作業を可能にします。通常は、GitHubや、Bitbucket等のホスティングサービス上(クラウド上)に配置して使うことになります。
また、様々なOSS(オープンソースソフトウェア)の開発に参加したり、設計やソースコードを確認したりできます。(例えば、Git自体もGitHub上のリポジトリで開発されているOSSの一つです。)
代表的なホスティングサービス
ホスティングサービス | 特徴 |
---|---|
GitHub | 無料で公開リポジトリを作成することができます。 |
Bitbuckert | 5ユーザーまで、非公開のリポジトリを何個でも作ることができます。 |
GitHub
本社はアメリカにありますが、2015年に日本法人が立ち上がり、2019年現在は世界中で3000万人以上の開発者に利用されています。
有料プランでないと利用できる機能に制限がつきますが、ほとんどの機能は無料プランで使うことができます。(例えば、以前はプライベートのリモートリポジトリが有料でしたが、2019年には無料で作れるようになっています。)
ホスティングサービスでできること
- 世界中のエンジニアや、デザイナーが書いたソースコードを見ることができます。
- お互いのソースコードをレビューしあえる。
- 誰でも、無料で何個でも、公開リポジトリを作ることができます。
- また、「GitHub」は社内サーバーに構築して、社内のみしかソースを見れないようにすることも可能です。
- ブラウザから扱えるのでGitに不慣れでも利用しやすい。
GitHubの功績
GitHub登場後は一般のエンジニアでもオープンソースソフトウェアの開発が気軽に行えるようになりIT業界が活性化しました。
GitHubの認証方式
GitHubには下記2つの認証方式があります。
- HTTPSプロトコルによるユーザー名、パスワードを用いたユーザー認証
- SSHプロトコルと公開鍵を用いたサーバー認証
HTTPSによる認証
毎回アクセスするのにユーザー名とパスワードを入力しなければならない。
SSHによる認証
メリット
- 設定が必要になるが、コマンドラインでの接続になるのでユーザー名、パスワードをいちいち入力する必要がない。
- HTTPSに比べるとデータ転送が速く行える。
SSH公開鍵の作成手順
1.SSH Keyを作成する。
1 |
ssh-keygen -t rsa -b 4096 -C "自分のメールアドレス" |
パスフレーズ(パスワードのようなもの)を2回入力します。
2.公開鍵ができている。
おそらくホームディレクトリとかに.ssh/id_rsa.pubというファイルが作成されていると思いますのでそれが公開鍵になります。
その鍵をGitHubに登録すればSSHを用いたサーバー認証を行うことが可能です。
GitHubに登録後の接続確認
下記コマンドを実行して公開鍵作成時に入力したパスフレーズを入力します。
1 |
ssh -T git@github.com |
下記のような形で表示されたら認証は正常に完了していることになります。
Github Actions
特徴
GitHubの操作をトリガー(pushやmerge)にしてワークフローを実行することが可能。
GitHub Actionsが仮想マシンを立ち上げてワークフローを実行します。
仮想マシンはさまざまなOSを利用できます。Linux(Ubuntu)、Windows、Macなど。(MacやWindowsを使うと料金が高いので基本的にはLinuxを使うことが多いでしょう)
ディレクトリごとに実行できる。
料金体系
使った分数によって料金が計算されたりします。なお、使っているOSによって分数の係数が異なります。(MacOSが一番係数が高くすぐ消費してしまいます。)
パブリックリポジトリ
完全無料で利用できます。
プライベートリポジトリ
月2000分の無料枠が与えられます。それを超える場合は有料です。
実装
構成
プロジェクト配下に以下のようなymlファイルを配置します。ファイル名は自由です。
1 |
.github/workflows/{ファイル名}.yml |
そうすると、GitHubはこれはGitHub Actionsで使うワークフローだと自動的に認識してくれます。
実装
name
GitHubリポジトリに表示される名前です。
on
必須項目です。ワークフローをいつ(push、pullなど)実行するか。複数イベントを指定できます。
jobs
好きなジョブ。デフォルトではジョブは並行に実行されます。ただ、順次実行することも可能です。
runs-on
jobごとに必要でjobが実行される仮想マシンを指定します。
steps
ジョブで何を行わせるかを記述。基本的にはstepsの中では「uses」か「run」のどちらかを使っていく。
uses
レポジトリを指定するとアクションが実行される。「ユーザー名/アクション名」として指定(例えば、「ruby/setup-ruby」だったらrubyというユーザーのsetup-rubyというアクションを実行する。)
ただ、レポジトリの探し方はちゃんと確立されていないみたいなので苦労する。
run
コマンドをそのまま書く。
実行結果の確認
GitHubのActionsというタブで実行結果の確認ができます。
Bitbucketとは?
アトラシンが提供するGitの中央リポジトリとして動作させるためのホスティングサービスです。
Bitbucketの特徴
- 同じアトラシン製品である「SouceTree」との連携が得意
- 5ユーザーまで非公開リポジトリを何個も作ることができます。
Bitbucketに、自分のアカウントで「リモートリポジトリ」を作成する。
1.下記のBitbucketの公式サイトにアクセスして、「Get started for free」を選択します。
https://bitbucket.org/product
2.Bitbucketにアカウント登録をします。
3.Bitbucketのアカウントを作成します。
4.下記のように、Bitbucketのアカウントが作成されるので、「リポジトリ」をクリックします。
5.「リポジトリの作成」をクリックします。
6.リポジトリ名を入力して、「リポジトリの作成」をクリックします。
7.これで、自分のアカウントのリモートリポジトリが作成されました。
作成したリモートリポジトリをクローンする。
1.「ソース」→「クローンの作成」をクリックします。
2.「Clone in Sourcetree」をクリックします。
3.「URL:sourcetree Protocolを開く」をクリックします。
4.ATLASSIANの認証が求められるので、認証します。
5.ローカルのSourceTreeが開くので、「クローン」をクリックします。
6.下記のように、先ほど作成したリモートリポジトリがSourceTreeで接続できていることを確認できます。
この記事へのコメントはありません。