2

私は GitLab に移行し、付属のすべてのツールを使用しています。Tomcat を使用して CentOs7 に GitLab v8.0.4 をインストールしました。プロジェクトを作成し、grails の例を git プロジェクトにプッシュします。ファイルをプロジェクトにプッシュするたびに、デプロイを開始できるようにしたいと考えています。jenkis では、プロジェクトをプルし、grails cmd ツールでコンパイルし、war を Tomcat にデプロイすることができました。私も同じことをしようとしていますが、本当に迷っています。誰もこれを試したことがなく、その方法を教えてもらえますか?

4

1 に答える 1

1

デプロイ スクリプトがプロジェクト自体と同じリポジトリにある場合は、ビルド ステージとデプロイ ステージを使用できます。ビルド ステージが成功すると、デプロイ ステージが開始されます。.gitlab-ci.yml は次のようになります。

stages:
  - build
  - deploy

build_grails:
  stage: build
  script:
  - build-script_of_grails_cmd

deploy_to_tomcat:
  stage: deploy
  script:
  - deploy_script_with_capistrano_or_whatever

展開コードが別のプロジェクトにある場合は、ビルド ステージが終了したときに、このプロジェクトをトリガーして展開を開始できます。デプロイ リポジトリにはトリガーが設定されている必要があります。これは、デプロイメント プロジェクトの継続的インテグレーション メニューで実行できます。トリガーを設定すると、GitLab は、yml ファイルに貼り付けることができるトリガーの curl スニペットを生成します。Grails アプリの gitlab-ci.yml は次のようになります。

stages:
  - build
  - deploy

build_grails:
  stage: build
  script:
  - build-script_of_grails_cmd

trigger:
  type: deploy
  script:
    - curl -X POST -F token=4579a6f10c51f0a4b7bdbd384f6e53 https://gitlab-comewhere.com/ci/api/v1/projects/5/refs/master/trigger

デプロイ プロジェクトの gitlab-ci.yml は次のようになります。

stages:
  - deploy

deploy_to_tomcat:
  stage: deploy
  script:
  - deploy_script_with_capistrano_or_whatever
于 2015-10-12T20:22:19.393 に答える