メモ > サーバ > 各論: 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.