mirror of
https://github.com/bitwarden/server.git
synced 2024-11-22 12:15:36 +01:00
119 lines
3.1 KiB
YAML
119 lines
3.1 KiB
YAML
image:
|
|
#- Visual Studio 2017
|
|
- Ubuntu1804
|
|
|
|
services:
|
|
- docker
|
|
|
|
stack: node 10
|
|
|
|
init:
|
|
- ps: |
|
|
if($isWindows -and $env:DEBUG_RDP -eq "true") {
|
|
iex ((new-object net.webclient).DownloadString(`
|
|
'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
|
}
|
|
- ps: |
|
|
if($isWindows) {
|
|
Install-Product node 10
|
|
}
|
|
|
|
install:
|
|
- sh: ls -lS
|
|
- ps: |
|
|
$env:PROD_DEPLOY = "false"
|
|
$env:TAG_NAME = ""
|
|
if($env:APPVEYOR_REPO_TAG -eq "true" -and $env:APPVEYOR_RE_BUILD -eq "True") {
|
|
$env:PROD_DEPLOY = "true"
|
|
$env:TAG_NAME = $env:APPVEYOR_REPO_TAG_NAME.TrimStart("v")
|
|
echo "This is a production deployment for ${env:TAG_NAME}."
|
|
}
|
|
if($isLinux) {
|
|
npm i -g gulp
|
|
} else {
|
|
choco install cloc --no-progress
|
|
cloc --include-lang C#,SQL,Razor,"Bourne Shell",PowerShell,HTML,CSS,Sass,JavaScript,TypeScript --vcs git
|
|
}
|
|
|
|
before_build:
|
|
- sh: |
|
|
if [ "${DOCKER_USERNAME}" != "" -a "${DOCKER_PASSWORD}" != "" ]
|
|
then
|
|
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
|
fi
|
|
- ps: |
|
|
if($isLinux) {
|
|
#dotnet restore
|
|
} else {
|
|
msbuild /t:restore
|
|
}
|
|
|
|
build_script:
|
|
- sh: chmod +x ./build.sh
|
|
- ps: |
|
|
if($isLinux) {
|
|
#dotnet build --configuration Debug
|
|
./build.sh
|
|
./build.sh tag dev
|
|
|
|
if($env:PROD_DEPLOY -eq "true") {
|
|
./build.sh tag beta
|
|
./build.sh tag $env:TAG_NAME
|
|
}
|
|
|
|
docker images
|
|
./build.sh push dev
|
|
|
|
if($env:PROD_DEPLOY -eq "true") {
|
|
./build.sh push beta
|
|
./build.sh push latest
|
|
./build.sh push $env:TAG_NAME
|
|
}
|
|
} else {
|
|
msbuild bitwarden-server.sln /p:Configuration=Debug /verbosity:minimal `
|
|
/logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
|
|
|
$env:swaggerGen = "true"
|
|
$env:ASPNETCORE_ENVIRONMENT = "Production"
|
|
cd .\src\Api
|
|
dotnet swagger tofile --output ..\..\swagger.json --host api.bitwarden.com --format Indented `
|
|
.\bin\Debug\netcoreapp2.1\Api.dll public
|
|
cd ..\..
|
|
$env:ASPNETCORE_ENVIRONMENT = ""
|
|
$env:swaggerGen = ""
|
|
Push-AppveyorArtifact .\swagger.json
|
|
}
|
|
- sh: |
|
|
echo "Make docker stubs"
|
|
STUB_OUTPUT=$(pwd)/docker-stub
|
|
docker run -i --rm --name setup -v $STUB_OUTPUT:/bitwarden bitwarden/setup:dev \
|
|
dotnet Setup.dll -stub 1 -install 1 -domain bitwarden.company.com -os lin
|
|
sudo chown -R appveyor:appveyor $STUB_OUTPUT
|
|
rm -rf $STUB_OUTPUT/ca-certificates
|
|
rm -rf $STUB_OUTPUT/identity
|
|
rm -rf $STUB_OUTPUT/letsencrypt
|
|
rm -rf $STUB_OUTPUT/ssl
|
|
rm $STUB_OUTPUT/env/uid.env
|
|
cd docker-stub
|
|
zip -r ../docker-stub.zip *
|
|
cd ..
|
|
- ps: Push-AppveyorArtifact .\docker-stub.zip
|
|
|
|
|
|
after_build:
|
|
- sh: docker logout
|
|
|
|
test_script:
|
|
- ps: |
|
|
if($isWindows) {
|
|
dotnet test .\test\Core.Test\Core.Test.csproj --configuration Debug --no-build
|
|
}
|
|
|
|
on_finish:
|
|
- ps: |
|
|
if($isWindows -and $env:DEBUG_RDP -eq "true") {
|
|
$blockRdp = $true
|
|
iex ((new-object net.webclient).DownloadString(`
|
|
'https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
|
|
}
|