2016-11-21 5 views
1

私はGitLab CIを.netプロジェクト用にセットアップしようとしています。今はymlファイルにスクリプトを書いています。私が知りたいこと:msbuild.exeとmstest.exeへのパスは、チームメンバーごとに異なる場合があります。同じymlスクリプトがどのように異なるユーザーのために働くのでしょうか?
GitLab CIが間違った仕組みで動作するかどうかわかりましたか?GitLab CI。異なるユーザーのymlのパス

答えて

2

mstest.exeおよび参照されている他のすべての実行可能ファイルとファイルへのパスは、GitLabランナーを実行しているマシンに基づいています。

あなたのマシンには何が入っているのですか、他の人は関係ありません。ビルドサーバだけが重要なので、それに応じてgymlab .ymlを書いてください。

サンプルの.NET YMLファイル
##variables: 
## increase indentation carefully, one space per cascade level. 
## THIS IS YAML. NEVER USE TABS. 
stages: 
    - build 
    - deploy 

#BUILD 
# Builds all working branches 
working: 
    stage: build 
    except: 
    - master 
    script: 
    - echo "Build Stage" 
    - echo "Restoring NuGet Packages..." 
    - '"c:\nuget\nuget.exe" restore "SOLUTION PATH"' 
    # - '"c:\nuget\nuget.exe" restore "ANOTHER ABSOLUTE PATH TO YOUR SOLUTION"' 
    - '' 
    - echo "Building Solutions..." 
    - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /consoleloggerparameters:ErrorsOnly /maxcpucount /nologo /property:Configuration=Release /verbosity:quiet "SOLUTION PATH" 

# Builds all stable/master pushes 
stable: 
    stage: build 
    only: 
    - master 
    script: 
    - echo "Build Stage" 
    - echo "Restoring NuGet Packages..." 
    - '"c:\nuget\nuget.exe" restore "SOLUTION PATH"' 
    # - '"c:\nuget\nuget.exe" restore "ANOTHER ABSOLUTE PATH TO YOUR SOLUTION"' 
    - '' 
    - echo "Building Solutions..." 
    - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe /consoleloggerparameters:ErrorsOnly /maxcpucount /nologo /property:Configuration=Release /verbosity:quiet "SOLUTION PATH" 




#DEPLOY 

    stage: deploy 
    only: 
    - dev 
    script: 
    - echo "Deploy Stage" 
#SEND TO YOUR DEV SERVER 


    ## deploy latest master to the correct servers 
    stage: deploy 

    script: 
    - echo "Deploy Stage" 
    only: 
    - master 
#SEND TO YOUR PRODUCTION SERVER 

    tags: 
    - .NET 
    #put tags here you put on your runners so you can hit the right runners when you push your code. 
+0

これはランナーで実行されているとき、私は、ソリューションのPATHを見つけることができますか? –

+1

ソリューションパスは、構築するソリューションのパスです。 gitlab-ci.ymlを基準にして書くことができます。それはあなたが構築したいソリューションへの道です。後で参照する場合は、あらかじめ定義されているgitlab環境変数を参照する必要があります。 https://docs.gitlab.com/ee/ci/variables/#predefined-variables-environment-variables –

+0

展開の例はありますか? –