2016-11-20 18 views
0

gitlab pushでyii2プロジェクトをプロダクションサーバーに自動的にデプロイする方法を設定するにはどうすればいいですか?git pushでの自動デプロイ

webhooksとgitlab-ciという2つの関連するものが見つかりました。私が正しく理解している場合、webhooks Webサーバーを使用する場合、プロジェクトフォルダへの書き込みアクセス権が必要ですが、これは悪いことです。サーバー上のプライベートランナーでgitlab-ciを設定しようとしましたが、失敗しました。

repoルートフォルダには、.gitlab-ci.ymlファイルとsrcフォルダと.gitフォルダの3つのアイテムがあります。

#.gitlab-ci.yml 
stages: 
    - deploy 

deploy: 
    stage: deploy 
    script: 
    - cd ./src && composer install 
    only: 
    - prod 

srcフォルダにyii2 basicプロジェクトがあります。

私がプロダクトブランチにプッシュした後、約3分後に "パイプラインが成功しました"というメッセージで電子メールを受信して​​います。しかし、サーバーのフォルダ内のファイルは更新されません。私は/ home/gitlab-runner/..フォルダツリーのどこかにプロジェクトのコピーがあることを発見しました。しかし、私は特定のフォルダ内のファイルを更新する必要があります。では、そのフォルダをどこでどのように設定するのですか?

+0

Pipelineが成功したというメールで、リンクをクリックしてビルドログに行くことができますか?おそらくこれをデバッグするのに役立つ情報がいくつかあります。 –

+0

@ ConnorShea、はい、ビルドログはコンソール出力のように見えますが、設定時に非常に役立ちます。 – Ali

答えて

0

私は実験によって溶液が見つかりました:私は、Webサーバーのユーザーグループにgitlabランナーのユーザーを追加しました。このほかに

#.gitlab-ci.yml 
stages: 
    - deploy 

deploy: 
    stage: deploy 
    script: 
    - composer --no-interaction --no-progress --prefer-dist --working-dir=src install 
    - cp -Rf ${CI_PROJECT_DIR} /path/on/server/ 
    only: 
    - prod 

を。このコマンドを使用しているubuntuサーバーの場合:

私は任意の提案に開放されています。