機能追加 #356
x-generationSDK用gitサーバー設置
| ステータス: | 新規 | 開始日: | 2015/07/02 | |
|---|---|---|---|---|
| 優先度: | 通常 | 期日: | ||
| 担当者: | 山本 義治 | 進捗 %: | 0% | |
| カテゴリ: | SDK | 作業時間の記録: | - | |
| 対象バージョン: | - |
履歴
#1 山本 義治 が10年以上前に更新
git共有リポジトリ作成¶
[49.212.176.26]
[admin]$ cd ~/git [admin]$ git init --bare x-generation-sdk.git
redmine連携用hook作成¶
[49.212.176.26]
[admin]$ vi ~/git/x-generation-sdk.git/hooks/post-receive #!/bin/sh echo "redmine update" ssh -t admin@219.94.235.108 <<EOF cd /var/lib/git/x-generation-sdk.git git fetch --all exit
[219.94.235.108]
[admin]$ cd /var/lib/git/ [admin]$ git clone --mirror admin@49.212.176.26:/home/admin/git/x-generation-sdk.git [admin]$ cd x-generation-sdk.git [admin]$ git fetch --all
slack連携用hook作成¶
[49.212.176.26]
[admin]$ vi ~/git/x-generation-sdk.git/hooks/post-update
#!/usr/bin/php
<?php
// Slackで発行したwebhookURLをセット
$slack_webhook = "https://hooks.slack.com/services/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";
// Slack channel
$channel = "#sdk";
// Slack username
$username = "Git hooks";
// リポジトリ名
$repo = "x-generation-sdk";
// リファレンス取得
$ref = $argv[1];
// ブランチ取得
$cmd = "git rev-parse --symbolic --abbrev-ref $ref 2> /dev/null";
$branch = exec($cmd, $ret);
// リビジョン取得
$cmd = "git log -1 --pretty=format:\"%h\" $branch 2> /dev/null";
$rev = exec($cmd, $ret);
// コミットユーザー取得
$cmd = "git log -1 --pretty=format:\"%an\" $branch 2> /dev/null";
$author = exec($cmd, $ret);
// コミットメッセージ取得
$cmd = "git log -1 --pretty=format:\"%s\" $branch 2> /dev/null";
$commit = exec($cmd, $ret);
$text = "[ $repo ][ <http://219.94.235.108:8888/projects/sdk/repository/$repo?rev=".urlencode($branch)."|$branch> ] <http://219.94.235.108:8888/projects/sdk/repository/$repo/revisions/$rev|$rev - $author : $commit>";
$post_array = array(
'channel' => $channel,
'username' => $username,
'text' => $text
);
//print_r($post_array);
// Slackへpost
$process = curl_init($slack_webhook);
curl_setopt($process, CURLOPT_POST, true);
curl_setopt($process, CURLOPT_POSTFIELDS, array('payload' => json_encode($post_array)));
curl_exec($process);
curl_close($process);
?>
ローカルリポジトリ¶
[ローカルPCで新規リポジトリ作成する場合]
[user]$ cd プロジェクトの場所/ [user]$ git init [user]$ git add . [user]$ git commit -m 'コメント' [user]$ git remote add origin ssh://admin@49.212.176.26:/home/admin/git/x-generation-sdk.git
[ローカルPCへクローンする場合]
[user]$ git clone ssh://admin@49.212.176.26:/home/admin/git/x-generation-sdk.git
[git flowを利用する場合]
①sourcetree起動→新規リポジトリ→ローカルリポジトリ作成→ソースコミット
②設定メニュー→リモートリポジトリ追加
名前: origin
パス: ssh://admin@49.212.176.26:/home/admin/git/x-generation-sdk.git
③git flowボタン→初期化画面でそのままOKを押下
④作業フローは下記参照
http://219.94.235.108:8888/documents/17