メモ > サーバ > 各論: Git > Bitbucket
Bitbucket
Bitbucket
https://bitbucket.org/
Atlassian Bitbucket Status
https://bitbucket.status.atlassian.com/
※GitHubは非公開リポジトリを作りたい場合は有料。
よってお金をかけずに非公開リポジトリを作りたい場合は、Bitbucketを使うといい。
…だったが、2020年4月15日現在、GitHubは非公開リポジトリもチーム利用も無料になった。
■ユーザ登録 〜 リポジトリの作成 〜 SourceTreeへのクローンメモ
https://bitbucket.org/
「Get started」から開始
リポジトリを作ると
refirio/test
のような名前になるので、会社で使う場合は「会社アカウントで」「リポジトリ名は英語で」作成したほうが良さそう。
もしくは、案件ごとのまとまりごとにプロジェクトを作成した方が良さそう。
すべて同じプロジェクトで管理するとすぐに上限の5人に達するし、管理も難しそう。
ユーザ名・パスワード・Eメールを入力し、Planは「Personal Account」でサインアップ。
会社で使うなら「5 user team」で良さそう。(会社アカウントで作って、その後チームアカウントも作る。)
メールが送信されるので確認しておく。
リポジトリの作成。(以下の設定内容は一例。)
名前は「test」英語のみにする?GitHubに合わせるためにも。日本語は「説明」欄に書く?
非公開リポジトリ。
プライベートフォークのみ許可。
リポジトリタイプGit。
プロジェクト管理は課題管理とWiki。
プログラミング言語はPHP。
Hip Chat は有効にしない。
Setting -> Services -> Issues を追加
…は、はじめから追加されていた。
概要 -> SourceTreeにクローン
SourceTreeが起動するので、Bitbucketパスワードを入力。
リポジトリの場所を選択してクローン。
課題 -> 最初の課題を作成
「#1 メッセージ」のようにコミットすると、課題の番号へリンクされる。
Setting -> マイルストーン
からマイルストーンを設定できる。
コマンドでクローンする場合、以下のようにする。
HTTPSでクローン:
git clone https://refirio@bitbucket.org/refirio/test.git
SSHでクローン:
git clone git@bitbucket.org:refirio/test.git
■インストール(古いバージョンでダメなら試す)
# yum list installed | grep git.x86_64 … gitのインストールを確認。
# yum remove git … 古いものがあれば削除。
# yum install git … gitをインストール。
■gitの動作確認
# git --version … インストールを確認。
■Apacheへログイン(nginxの場合は、以降も含めてnginx用のユーザを使う)
# passwd apache … apacheにパスワードを設定。(rootを経由するなら不要。)
# su -s /bin/bash - apache … シェルを指定してログイン。
■デプロイ環境を構築
※apacheユーザで作業。
※/var/www 内全体をデプロイ対象にすると、
「/var/www/.ssh/ などが存在するのでデプロイできないが、/var/www/.ssh/ がないとリポジトリへアクセスできない」
となって作業が難しいので注意。他の場所にすることを推奨。
サイト全体をデプロイ対象にするなら、バーチャルホストを設定するのが無難。
# mkdir /var/www/html/bitbucket-test … デプロイ先を作成。
# chmod 775 /var/www/html/bitbucket-test/ … apacheグループのユーザに読み書き実行を許可。
# ll /var/www/html/ … デプロイ先の所有者を確認。
$ cd /var/www/html/bitbucket-test … デプロイ先に移動。
$ git clone git@bitbucket.org:refirio/test.git /var/www/html/bitbucket-test … クローン実行。
Initialized empty Git repository in /var/www/html/bitbucket-test/.git/
The authenticity of host 'bitbucket.org (131.103.20.167)' can't be established.
RSA key fingerprint is 97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'bitbucket.org,131.103.20.167' (RSA) to the list of known hosts.
Permission denied (publickey). … Permissionで弾かれている。
fatal: The remote end hung up unexpectedly
■鍵
※apacheユーザで作業。
$ cd … ホームディレクトリで作業。
$ mkdir /var/www/.ssh
$ chown -R apache:apache /var/www/.ssh/
$ ssh-keygen -t rsa … BitbucketへSSH接続するための鍵を作成。
Generating public/private rsa key pair.
Enter file in which to save the key (/var/www/.ssh/id_rsa): … 空Enter。(デフォルトの場所に作成。)
Enter passphrase (empty for no passphrase): … 空Enter。(パスワード無しの鍵を作成。)
Enter same passphrase again: … 空Enter。
Your identification has been saved in /var/www/.ssh/id_rsa.
Your public key has been saved in /var/www/.ssh/id_rsa.pub.
The key fingerprint is:
42:b3:c9:c3:f9:85:e4:be:9a:3e:28:82:cf:48:83:a9 apache@refirio.net
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| o . |
| + B . |
| O S . |
|.. = . |
|+o . o |
|=oo . .. . |
|Eoo. .+o. |
+-----------------+
$ ll /var/www/.ssh/ … 鍵(id_rsa と id_rsa.pub)の作成を確認。
合計 8
-rw------- 1 apache apache 1675 10月 18 12:13 2015 id_rsa
-rw-r--r-- 1 apache apache 400 10月 18 12:13 2015 id_rsa.pub
-rw-r--r-- 1 apache apache 407 10月 18 12:19 2015 known_hosts
$ vi /var/www/.ssh/id_rsa … 秘密鍵の内容を確認。
■鍵を登録
https://bitbucket.org/refirio/test/admin/deploy-keys/
から「refirio.net」というタイトルで公開鍵を登録。
■動作確認
※apacheユーザで作業。
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEA7QltpgTVx5XNpS3sA/qatl/NlFHxGHR55cnZw2zsGpkqadVN
〜略〜
ePtIQN8d07QbxJ/RLzzLfkgs6w0tezCv40tXtCSD7LdeJTaRwIg=
-----END RSA PRIVATE KEY-----
$ vi /var/www/.ssh/id_rsa.pub … 公開鍵の内容を確認。(アカウントとドメインが記入されているのを確認。)
ssh-rsa AAAA〜略〜3PQ== apache@refirio.net
$ vi /var/www/.ssh/known_hosts … Bitbucketへのログインを試みたので、known_hostsとして公開鍵が登録されている。
bitbucket.org,192.30.252.128 ssh-rsa AAAA〜略〜AaQ==
$ cd /var/www/html/bitbucket-test … 作業用ディレクトリへ移動。
$ git clone git@bitbucket.org:refirio/test.git /var/www/html/bitbucket-test … クローン実行。
Initialized empty Git repository in /var/www/html/bitbucket-test/.git/
remote: Counting objects: 22, done.
remote: Compressing objects: 100% (21/21), done.
remote: Total 22 (delta 10), reused 0 (delta 0)
Receiving objects: 100% (22/22), done.
Resolving deltas: 100% (10/10), done.
$ ll … 確認。
合計 24
drwxr-xr-x 2 apache apache 4096 12月 6 21:15 2015 css
-rw-r--r-- 1 apache apache 556 12月 6 21:15 2015 index.html
-rw-r--r-- 1 apache apache 290 12月 6 21:15 2015 test.php
-rw-r--r-- 1 apache apache 293 12月 6 21:15 2015 test1.html
-rw-r--r-- 1 apache apache 293 12月 6 21:15 2015 test2.html
-rw-r--r-- 1 apache apache 293 12月 6 21:15 2015 test3.html
$ git pull … プルする場合。
Already up-to-date.