what trying implement gitlab setup is, when new project created admin gitlab user interface automatically clone project root directory of apache users can work , view changes browser rather cloning project local system , push apache root directory.
i auto clone new created gitlab project cloned @ /var/www/html/
you need leverage api , ci sort of thing. steps needed this:
create system hook triggers when project created.
if hook occurs create
.gitlab-ci.yml
file defines deployment on webserver.enable runner project deployment can take place.
now everytime push on repository occurs gets deployed on webserver.
example:
create system hook via admin interface admin area -> system hooks
or curl
command. doc
curl -x post -h "private-token: 9koxpg98eahejpvbs5tk" "https://gitlab.example.com/api/v3/hooks?url=https://gitlab.example.com/hook"
this call url https://gitlab.example.com/hook
whenever 1 of following event happens:
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
now need create sort of script run whenever https://gitlab.example.com/hook
called. script either performs curl
request creates .gitlab-ci.yml file or uses git automatically create first commit. 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'
then need enable runner project deploys webserver. doc
curl -x post -h "private-token: 9koxpg98eahejpvbs5tk" "https://gitlab.example.com/api/v3/projects/9/runners" -f "runner_id=9"
Comments
Post a Comment