2016-08-01 6 views
0

私のGitlab Setupで実装しようとしているのは、Gitlab User Interfaceからadminによって新しいプロジェクトが作成されたとき、プロジェクトを自動的にApacheのルートディレクトリユーザーはプロジェクトをローカルシステムに複製するのではなく、ブラウザから変更を表示し、Apacheのルートディレクトリにプッシュすることができます。Gitlab:新しいプロジェクトが作成されたときにリポジトリを別の場所にクローズ

私はオート/ var/www/htmlと設定/

+1

gitlabはすでにリポジトリブラウザを提供していませんか? – larsks

+0

Webアプリケーションプロジェクトで作業している間のことです。私はgitlabを新しく作成したプロジェクトをWebルートディレクトリに自動的にクローンして、apacheがファイルを実行できるようにする必要がありました。 –

答えて

0

にクローニングされる新しい作成gitlabプロジェクトは、あなたがAPIおよびこの種のものを行うにはCIを活用する必要があるクローンをたい。

  1. は、プロジェクトが作成されたときにトリガーSystem Hookを作成します。必要な手順は、このようなものになるだろう。

  2. フックが発生した場合は、Webサーバー上の展開を定義する.gitlab-ci.ymlファイルを作成します。

  3. Enable the runnerプロジェクトのために配置することができます。

リポジトリをプッシュするたびに、Webサーバーに展開されます。


例:

管理インタフェースAdmin Area -> System Hooksまたはcurlコマンドを使用して、システムを経由してフックを作成します。次のイベントのいずれかが起こるたびDoc

curl -X POST -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.example.com/api/v3/hooks?url=https://gitlab.example.com/hook" 

これはURL https://gitlab.example.com/hookを呼び出します:

project_create, project_destroy, project_rename, project_transfer, user_add_to_team, user_remove_from_team, user_create, user_destroy, key_create, key_destroy, group_create, group_destroy, user_add_to_group, user_remove_from_group

は、今、私たちは https://gitlab.example.com/hookが呼び出されるたびに実行されるスクリプトのいくつかの並べ替えを作成する必要があります。このスクリプトは、別の curl要求を実行して.gitlab-ci.ymlファイルを作成するか、またはgitを使用して自動的に最初のコミットを作成します。 Doc

curl -X POST -H 'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK' -F 'file_path=.gitlab-ci.yml' -F 'branch_name=master' -F 'commit_message=Initial' -F $'content=CI DEFINITION GOES HERE' 'https://gitlix.sw.jena.com/api/v3/projects/48/repository/files' 

その後、あなたはそれがあなたのウェブサーバにそれを展開して、このプロジェクトのためにランナーを有効にする必要があります。 Doc

curl -X POST -H "PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK" "https://gitlab.example.com/api/v3/projects/9/runners" -F "runner_id=9" 
+0

あなたの返事ありがとうございます。これは私の要件のために物事を得るためにどのように作業すべきかを定義します。私はGitlabとHooksを始めとしています。新しいプロジェクトが作成されたときに、私が探していた特定のシステムフックを作成する方法をさらに詳しく教えてください。ありがとうございました 。 –

+0

@CrshnaPariyarもっと明確にするために答えを更新しました。 – Fairy

関連する問題