variables: VERS_MAIN: '1.0' NEXUS_PATH: 'MP-STATS' PROJ_PATH: '' APP_NAME: 'MP.Stats' SOL_NAME: 'MP-STATS' NUGET_PATH: 'C:\Tools\nuget.exe' DEST: 'install' # nota: cer creazione rules: https://docs.gitlab.com/ee/ci/jobs/job_control.html#common-if-clauses-for-rules # helper x fix pacchetti nuget da repo locale nexus.steamware.net .nuget-fix: &nuget-fix - | echo "esecuzione Nuget FIX steps" dotnet nuget list source $hasSource = dotnet nuget list source | Select-String -Pattern "Steamware Nexus Proxy" if (! [String]::IsNullOrWhiteSpace($hasSource)) { dotnet nuget remove source "`"Steamware Nexus Proxy`"" } $hasSource = dotnet nuget list source | Select-String -Pattern "Steamware Nexus" if (! [String]::IsNullOrWhiteSpace($hasSource)) { dotnet nuget remove source "`"Steamware Nexus`"" } $hasSource = dotnet nuget list source | Select-String -Pattern "nexus-proxy-v3" if (! [String]::IsNullOrWhiteSpace($hasSource)) { dotnet nuget remove source nexus-proxy-v3 } $hasSource = dotnet nuget list source | Select-String -Pattern "nexus-hosted" if (! [String]::IsNullOrWhiteSpace($hasSource)) { dotnet nuget remove source nexus-hosted } $hasSource = dotnet nuget list source | Select-String -Pattern "Microsoft Visual Studio Offline Packages" if (! [String]::IsNullOrWhiteSpace($hasSource)) { dotnet nuget remove source 'Microsoft Visual Studio Offline Packages' } echo "Situazione sorgenti post remove:" dotnet nuget list source dotnet nuget add source https://nexus.steamware.net/repository/nuget-proxy-v3/index.json -n nexus-proxy-v3 -u nugetUser -p $NEXUS_PASSWD --store-password-in-clear-text dotnet nuget add source https://nexus.steamware.net/repository/nuget-hosted/ -n nexus-hosted -u nugetUser -p $NEXUS_PASSWD --store-password-in-clear-text $hasSource = dotnet nuget list source echo "Situazione sorgenti FINALE:" dotnet nuget list source # helper x fix appsettings config nei casi installer / office .appsettings-fix: &appsettings-fix - | echo "esecuzione FIX appsettings.json" $srcFile="$env:APP_NAME/appsettings.Production-install.json" $dstFile="$env:APP_NAME/appsettings.Production.json" if (($env:DEST -ne 'install')) { $srcFile="$env:APP_NAME/appsettings.Production-office.json" } echo "Copy-Item -Path $srcFile -Destination $dstFile -force" Copy-Item -Path $srcFile -Destination $dstFile -force echo "Completata copia file appsettings.json corretto" # helper creazione hash files x IIS .hashBuild: &hashBuild - | $Target = $env:APP_NAME + "\bin\publish\" + $env:APP_NAME + ".zip" $MD5 = Get-FileHash $Target -Algorithm MD5 $SHA1 = Get-FileHash $Target -Algorithm SHA1 New-Item $Target".md5" New-Item $Target".sha1" $MD5.Hash | Set-Content -Path $Target".md5" $SHA1.Hash | Set-Content -Path $Target".sha1" echo "Created HASH files for $Target" # helper x send su NEXUS x pack .nexusUpload: &nexusUpload - | Set-Alias mCurl C:\Windows\system32\curl.exe $fileVers = $env:APP_NAME + "\Resources\VersNum.txt" $VersNumb = Get-Content $fileVers echo "Curr Version: $VersNumb" if($CI_COMMIT_BRANCH -eq "master") { $version = "stable" } else { $version = "unstable" } $File2Send = Get-ChildItem($env:APP_NAME + "\bin\publish\*") ForEach ($File in $File2Send) { $FileName = Split-Path $File -leaf mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$version/LAST/$FileName mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$version/ARCHIVE/$VersNumb/$FileName } mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file "$env:APP_NAME\Resources\manifest.xml" https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$version/LAST/manifest.xml mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file "$env:APP_NAME\Resources\ChangeLog.html" https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$version/LAST/ChangeLog.html # helper x fix version number .version-fix: &version-fix - | $env:NEW_REL = $env:VERS_MAIN+"."+(get-date -format yyMM)+"."+(get-date -format ddHH) $env:NUM_REL = $env:VERS_MAIN+"."+(get-date -format yyMM)+"."+(get-date -format dHH) $env:NUM_DEB = $env:VERS_MAIN+"."+(get-date -format yyMM)+"-beta."+(get-date -format dHH) # display versioni generate $resoconto = "Effettuato fix file VersGen | release v: " + $env:NUM_REL + " | debug v: " + $env:NUM_DEB; Write-Output $resoconto; echo "Replace completati" # helper x fix nuspec file .nuspec-fix: &nuspec-fix - | echo "Modifica dati file nuspec Release" $currRelease = $env:NUM_REL $currDebug = $env:NUM_DEB $find = "(.|\n)*?"; $fileNameRel = "*.Release.nuspec"; $replRel = "" + $currRelease + ""; $replCopy ="Egalware 2021+"; $adesso = $env:VERS_MAIN+"."+(get-date -format yyMM)+"."+(get-date -format dHH) $nuspDataRel = Get-Content $fileNameRel; $nuspDataRelUpd = $nuspDataRel -replace $find, $replRel; $nuspDataRelUpd = $nuspDataRelUpd -replace "#copyright#", $replCopy; $nuspDataRelUpd = $nuspDataRelUpd -replace "#releaseNotes#", "Build $adesso"; Set-Content -Path $fileNameRel -Value $nuspDataRelUpd; echo "Modifica dati file nuspec Debug" $fileNameDeb = "*.Debug.nuspec"; $replDeb = "" + $currDebug + ""; $nuspDataDeb = Get-Content $fileNameDeb; $nuspDataDebUpd = $nuspDataDeb -replace $find, $replDeb; $nuspDataDebUpd = $nuspDataDebUpd -replace "#copyright#", $replCopy; $nuspDataDebUpd = $nuspDataDebUpd -replace "#releaseNotes#", "Build $adesso"; Set-Content -Path $fileNameDeb -Value $nuspDataDebUpd; echo "replace completati" # Stages previsti stages: - build - deploy - installer - release # -------------------------------- # BUILD # -------------------------------- LAND:build: stage: build tags: - win variables: APP_NAME: MP.Land SOL_NAME: MP-LAND rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH =~ /^feature\/LAND.+/ when: always before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" script: - echo $CI_COMMIT_BRANCH - dotnet build $env:APP_NAME/$env:APP_NAME.csproj PROG:build: stage: build tags: - win variables: APP_NAME: MP.Prog SOL_NAME: MP-PROG rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH =~ /^feature\/PROG.+/ when: always before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj STAT:build: stage: build tags: - win variables: APP_NAME: MP.Stats SOL_NAME: MP-STATS rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH =~ /^feature\/STAT.+/ when: always before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj MON:build: stage: build tags: - win variables: APP_NAME: MP.MON SOL_NAME: MP-MON rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH =~ /^feature\/MON.+/ when: always before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj SPEC:build: stage: build tags: - win variables: APP_NAME: MP.SPEC SOL_NAME: MP-SPEC rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH =~ /^feature\/SPEC.+/ when: always before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj INVE:build: stage: build tags: - win variables: APP_NAME: MP.INVE SOL_NAME: MP-INVE rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH =~ /^feature\/INVE.+/ when: always before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj CONF:build: stage: build tags: - win variables: APP_NAME: IobConf.UI SOL_NAME: IobConf rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH =~ /^feature\/CONF.+/ when: always before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj IOC:build: stage: build tags: - win variables: APP_NAME: MP.IOC SOL_NAME: MP-IOC rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH =~ /^feature\/IOC.+/ when: always before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj RIOC:build: stage: build tags: - win variables: APP_NAME: MP.RIOC SOL_NAME: MP-RIOC rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH =~ /^feature\/IOC.+/ when: always before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj TAB3:build: stage: build tags: - win variables: APP_NAME: MP-TAB3 SOL_NAME: MP-TAB3 rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH =~ /^feature\/TAB.+/ when: always before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj # -------------------------------- # DEPLOY develop (IIS01 + beta nuget) # -------------------------------- LAND:IIS01:deploy: stage: deploy tags: - win variables: APP_NAME: MP.Land SOL_NAME: MP-LAND before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH =~ /^feature\/LAND.+/ when: always needs: ["LAND:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj LAND:SDK:deploy: stage: deploy tags: - win variables: APP_NAME: MP.AppAuth SOL_NAME: MP-LAND before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" - *version-fix - *nuspec-fix rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH =~ /^feature\/LAND.+/ when: always needs: ["LAND:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "EgwProxy.MP.Core.Debug.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_DEB.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' PROG:IIS01:deploy: stage: deploy tags: - win variables: APP_NAME: MP.Prog SOL_NAME: MP-PROG before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH =~ /^feature\/PROG.+/ when: always needs: ["PROG:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj STAT:IIS01:deploy: stage: deploy tags: - win variables: APP_NAME: MP.Stats SOL_NAME: MP-STATS before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH =~ /^feature\/STAT.+/ when: always needs: ["STAT:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj MON:IIS01:deploy: stage: deploy tags: - win variables: APP_NAME: MP.MON SOL_NAME: MP-MON before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH =~ /^feature\/MON.+/ when: always needs: ["MON:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj SPEC:IIS01:deploy: stage: deploy tags: - win variables: APP_NAME: MP.SPEC SOL_NAME: MP-SPEC before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH =~ /^feature\/SPEC.+/ when: always needs: ["SPEC:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj INVE:IIS01:deploy: stage: deploy tags: - win variables: APP_NAME: MP.INVE SOL_NAME: MP-INVE before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH =~ /^feature\/INVE.+/ when: always needs: ["INVE:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj CONF:IIS01:deploy: stage: deploy tags: - win variables: APP_NAME: IobConf.UI SOL_NAME: IobConf before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH =~ /^feature\/CONF.+/ when: always needs: ["CONF:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj IOC:IIS01:deploy: stage: deploy tags: - win variables: APP_NAME: MP.IOC SOL_NAME: MP-IOC before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH =~ /^feature\/IOC.+/ when: always needs: ["IOC:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj RIOC:IIS01:deploy: stage: deploy tags: - win variables: APP_NAME: MP.RIOC SOL_NAME: MP-RIOC before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH =~ /^feature\/IOC.+/ when: always needs: ["RIOC:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj TAB3:IIS01:deploy: stage: deploy tags: - win variables: APP_NAME: MP-TAB3 SOL_NAME: MP-TAB3 before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'develop' - if: $CI_COMMIT_BRANCH =~ /^feature\/TAB.+/ when: always needs: ["TAB3:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj # -------------------------------- # DEPLOY master (IIS03/IIS04) # -------------------------------- LAND:IIS03:deploy: stage: deploy tags: - win variables: APP_NAME: MP.Land SOL_NAME: MP-LAND before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' needs: ["LAND:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS03.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS04.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj PROG:IIS03:deploy: stage: deploy tags: - win variables: APP_NAME: MP.Prog SOL_NAME: MP-PROG DEST: office.egalware.com before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" - *appsettings-fix rules: - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH == 'develop' needs: ["PROG:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS03.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS04.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj STAT:IIS03:deploy: stage: deploy tags: - win variables: APP_NAME: MP.Stats SOL_NAME: MP-STATS before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' needs: ["STAT:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS03.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS04.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj MON:IIS03:deploy: stage: deploy tags: - win variables: APP_NAME: MP.MON SOL_NAME: MP-MON before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' needs: ["MON:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS03.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS04.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj SPEC:IIS03:deploy: stage: deploy tags: - win variables: APP_NAME: MP.SPEC SOL_NAME: MP-SPEC before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' needs: ["SPEC:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS03.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS04.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj INVE:IIS03:deploy: stage: deploy tags: - win variables: APP_NAME: MP.INVE SOL_NAME: MP-INVE before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' needs: ["INVE:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS03.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS04.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj CONF:IIS03:deploy: stage: deploy tags: - win variables: APP_NAME: IobConf.UI SOL_NAME: IobConf before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' needs: ["CONF:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS03.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS04.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj IOC:IIS03:deploy: stage: deploy tags: - win variables: APP_NAME: MP.IOC SOL_NAME: MP-IOC before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' needs: ["IOC:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS03.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS04.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj RIOC:IIS03:deploy: stage: deploy tags: - win variables: APP_NAME: MP.RIOC SOL_NAME: MP-RIOC before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' needs: ["RIOC:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS03.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS04.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj TAB3:IIS03:deploy: stage: deploy tags: - win variables: APP_NAME: MP-TAB3 SOL_NAME: MP-TAB3 before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' needs: ["TAB3:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS03.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IIS04.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj # -------------------------------- # INSTALLER (develop/master) # -------------------------------- LAND:installer: stage: installer tags: - win variables: APP_NAME: MP.Land SOL_NAME: MP-LAND NEXUS_PATH: MP-LAND before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH == 'develop' needs: ["LAND:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IISProfile.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release $env:APP_NAME/$env:APP_NAME.csproj -o:publish -p:verbosity=quiet # qui il deploy su nexus... - *hashBuild - *nexusUpload PROG:installer: stage: installer tags: - win variables: APP_NAME: MP.Prog SOL_NAME: MP-PROG NEXUS_PATH: MP-PROG before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH == 'develop' needs: ["PROG:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IISProfile.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release $env:APP_NAME/$env:APP_NAME.csproj -o:publish -p:verbosity=quiet # qui il deploy su nexus... - *hashBuild - *nexusUpload STAT:installer: stage: installer tags: - win variables: APP_NAME: MP.Stats SOL_NAME: MP-STATS NEXUS_PATH: MP-STATS before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH == 'develop' needs: ["STAT:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IISProfile.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release $env:APP_NAME/$env:APP_NAME.csproj -o:publish -p:verbosity=quiet # qui il deploy su nexus... - *hashBuild - *nexusUpload MON:installer: stage: installer tags: - win variables: APP_NAME: MP.MON SOL_NAME: MP-MON NEXUS_PATH: MP-MON before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH == 'develop' needs: ["MON:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IISProfile.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release $env:APP_NAME/$env:APP_NAME.csproj -o:publish -p:verbosity=quiet # qui il deploy su nexus... - *hashBuild - *nexusUpload SPEC:installer: stage: installer tags: - win variables: APP_NAME: MP.SPEC SOL_NAME: MP-SPEC NEXUS_PATH: MP-SPEC before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH == 'develop' needs: ["SPEC:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IISProfile.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release $env:APP_NAME/$env:APP_NAME.csproj -o:publish -p:verbosity=quiet # qui il deploy su nexus... - *hashBuild - *nexusUpload INVE:installer: stage: installer tags: - win variables: APP_NAME: MP.INVE SOL_NAME: MP-INVE NEXUS_PATH: MP-INVE before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH == 'develop' needs: ["INVE:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IISProfile.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release $env:APP_NAME/$env:APP_NAME.csproj -o:publish -p:verbosity=quiet # qui il deploy su nexus... - *hashBuild - *nexusUpload TAB3:installer: stage: installer tags: - win variables: APP_NAME: MP-TAB3 SOL_NAME: MP-TAB3 NEXUS_PATH: MP-TAB3 before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH == 'develop' needs: ["TAB3:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IISProfile.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release $env:APP_NAME/$env:APP_NAME.csproj -o:publish -p:verbosity=quiet # qui il deploy su nexus... - *hashBuild - *nexusUpload # CONF:installer: # stage: installer # tags: # - win # variables: # APP_NAME: IobConf.UI # SOL_NAME: IobConf # NEXUS_PATH: IobConf # before_script: # - *nuget-fix # - dotnet restore "$env:SOL_NAME.sln" # rules: # - develop # - master # needs: ["CONF:build"] # script: # - dotnet build $env:APP_NAME/$env:APP_NAME.csproj # - dotnet publish -p:PublishProfile=IISProfile.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release $env:APP_NAME/$env:APP_NAME.csproj -o:publish -p:verbosity=quiet # # qui il deploy su nexus... # - *hashBuild # - *nexusUpload IOC:installer: stage: installer tags: - win variables: APP_NAME: MP.IOC SOL_NAME: MP-IOC NEXUS_PATH: MP-IOC before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH == 'develop' needs: ["IOC:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IISProfile.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release $env:APP_NAME/$env:APP_NAME.csproj -o:publish -p:verbosity=quiet # qui il deploy su nexus... - *hashBuild - *nexusUpload RIOC:installer: stage: installer tags: - win variables: APP_NAME: MP.RIOC SOL_NAME: MP-RIOC NEXUS_PATH: MP-RIOC before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_BRANCH == 'master' - if: $CI_COMMIT_BRANCH == 'develop' needs: ["IOC:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -p:PublishProfile=IISProfile.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release $env:APP_NAME/$env:APP_NAME.csproj -o:publish -p:verbosity=quiet # qui il deploy su nexus... - *hashBuild - *nexusUpload # -------------------------------- # RELEASE (tags only + sdk) # -------------------------------- LAND:release: stage: release tags: - win variables: APP_NAME: MP.Land SOL_NAME: MP-LAND NEXUS_PATH: MP-LAND before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_TAG needs: ["LAND:build"] artifacts: paths: - publish/ script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -c Release -o ./publish $env:APP_NAME/$env:APP_NAME.csproj -p:verbosity=quiet LAND:SDK:release: stage: release tags: - win variables: APP_NAME: MP.AppAuth SOL_NAME: MP-LAND before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" - *version-fix - *nuspec-fix rules: - if: $CI_COMMIT_BRANCH == 'master' needs: ["LAND:build"] script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj -c Release - '& Remove-Item *.nupkg' - '& $env:NUGET_PATH pack "EgwProxy.MP.Core.Release.nuspec"' - '& "$env:NUGET_PATH" setapikey $NUGET_API_KEY -source http://nexus.steamware.net/repository/nuget-hosted' - '& "$env:NUGET_PATH" push *$env:NUM_REL.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted' PROG:release: stage: release tags: - win variables: APP_NAME: MP.Prog SOL_NAME: MP-PROG NEXUS_PATH: MP-PROG before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_TAG needs: ["PROG:build"] artifacts: paths: - publish/ script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -c Release -o ./publish $env:APP_NAME/$env:APP_NAME.csproj -p:verbosity=quiet STAT:release: stage: release tags: - win variables: APP_NAME: MP.Stats SOL_NAME: MP-STATS NEXUS_PATH: MP-STATS before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_TAG needs: ["STAT:build"] artifacts: paths: - publish/ script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -c Release -o ./publish $env:APP_NAME/$env:APP_NAME.csproj -p:verbosity=quiet MON:release: stage: release tags: - win variables: APP_NAME: MP.MON SOL_NAME: MP-MON NEXUS_PATH: MP-MON before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_TAG needs: ["MON:build"] artifacts: paths: - publish/ script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -c Release -o ./publish $env:APP_NAME.csproj -p:verbosity=quiet SPEC:release: stage: release tags: - win variables: APP_NAME: MP.SPEC SOL_NAME: MP-SPEC NEXUS_PATH: MP-SPEC before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_TAG needs: ["SPEC:build"] artifacts: paths: - publish/ script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -c Release -o ./publish $env:APP_NAME/$env:APP_NAME.csproj -p:verbosity=quiet INVE:release: stage: release tags: - win variables: APP_NAME: MP.INVE SOL_NAME: MP-INVE NEXUS_PATH: MP-INVE before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_TAG needs: ["INVE:build"] artifacts: paths: - publish/ script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -c Release -o ./publish $env:APP_NAME/$env:APP_NAME.csproj -p:verbosity=quiet CONF:release: stage: release tags: - win variables: APP_NAME: IobConf.UI SOL_NAME: IobConf NEXUS_PATH: IobConf before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_TAG needs: ["CONF:build"] artifacts: paths: - publish/ script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -c Release -o ./publish $env:APP_NAME/$env:APP_NAME.csproj -p:verbosity=quiet IOC:release: stage: release tags: - win variables: APP_NAME: MP.IOC SOL_NAME: MP-IOC NEXUS_PATH: MP-IOC before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_TAG needs: ["IOC:build"] artifacts: paths: - publish/ script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -c Release -o ./publish $env:APP_NAME/$env:APP_NAME.csproj -p:verbosity=quiet RIOC:release: stage: release tags: - win variables: APP_NAME: MP.RIOC SOL_NAME: MP-RIOC NEXUS_PATH: MP-RIOC before_script: - *nuget-fix - dotnet restore "$env:SOL_NAME.sln" rules: - if: $CI_COMMIT_TAG needs: ["IOC:build"] artifacts: paths: - publish/ script: - dotnet build $env:APP_NAME/$env:APP_NAME.csproj - dotnet publish -c Release -o ./publish $env:APP_NAME/$env:APP_NAME.csproj -p:verbosity=quiet