Browse Source

Merge branch 'master' of github.com:SebastianStehle/Squidex

# Conflicts:
#	.gitignore
pull/1/head
Sebastian 9 years ago
parent
commit
90b35be2dc
  1. 19
      .dockerignore
  2. 3
      .gitignore
  3. 31
      Dockerfile.build
  4. 10
      build.docker-compose.yml
  5. 11
      build.ps1
  6. 17
      build.sh
  7. 1
      src/Squidex/Squidex.csproj

19
.dockerignore

@ -0,0 +1,19 @@
# User-specific files
*.suo
*.user
*.vs
# Build results
build
bin
obj
publish
# Test Output
_test-output
# NodeJS
node_modules
# Scripts (should be copied from node_modules on build)
**/wwwroot/scripts/**/*.*

3
.gitignore

@ -7,6 +7,7 @@
build
bin
obj
publish
# Test Output
_test-output
@ -15,4 +16,4 @@ _test-output
node_modules
# Scripts (should be copied from node_modules on build)
**/wwwroot/scripts/**/*.*
**/wwwroot/scripts/**/*.*

31
tools/aspnetcore-build-phantomjs/Dockerfile → Dockerfile.build

@ -1,5 +1,6 @@
FROM microsoft/dotnet:1.1.0-sdk-msbuild-rc4
FROM microsoft/aspnetcore-build
# Install runtime dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates bzip2 libfontconfig \
@ -24,4 +25,28 @@ RUN set -x \
RUN phantomjs --version
WORKDIR /
COPY src/Squidex/package.json /tmp/package.json
RUN cd /tmp \
&& npm install \
&& npm rebuild node-sass
COPY . .
WORKDIR /
# Build Frontend
RUN cp -a /tmp/node_modules /src/Squidex/ \
&& cd /src/Squidex \
&& npm run build:copy \
&& npm run build \
&& npm run test:coverage
# Test Backend
RUN dotnet restore \
&& dotnet test tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj \
&& dotnet test tests/Squidex.Core.Tests/Squidex.Core.Tests.csproj \
&& dotnet test tests/Squidex.Read.Tests/Squidex.Read.Tests.csproj \
&& dotnet test tests/Squidex.Write.Tests/Squidex.Write.Tests.csproj
# Publish
RUN dotnet publish src/Squidex/Squidex.csproj --output /out/ --configuration Release

10
build.docker-compose.yml

@ -1,10 +0,0 @@
version: '2'
services:
squidex-build:
# Use custom aspnet images where phantomjs is installed
build: tools/aspnetcore-build-phantomjs
volumes:
- .:/sln
working_dir: /sln
# Run the build script on local folder
entrypoint: ["sh", "./build.sh"]

11
build.ps1

@ -0,0 +1,11 @@
# Build the image
docker build . -t build-image -f Dockerfile.build
# Open the image
docker create --name build-cont build-image
# Copy the output to the host file system
docker cp build-cont:/out ./publish
# Cleanup
docker rm build-cont

17
build.sh

@ -1,17 +0,0 @@
#!bin/bash
set -e
cd src/Squidex
npm install
npm rebuild node-sass
npm rebuild phantomjs-prebuilt
npm run test:coverage
npm run build:copy
npm run build
cd ./../..
dotnet restore
dotnet test tests/Squidex.Core.Tests/Squidex.Core.Tests.csproj
dotnet test tests/Squidex.Infrastructure.Tests/Squidex.Infrastructure.Tests.csproj
dotnet test tests/Squidex.Read.Tests/Squidex.Read.Tests.csproj
dotnet test tests/Squidex.Write.Tests/Squidex.Write.Tests.csproj
rm -rf $(pwd)/publish/web
dotnet publish src/Squidex/Squidex.csproj -c release -o $(pwd)/publish/web

1
src/Squidex/Squidex.csproj

@ -15,7 +15,6 @@
<ItemGroup>
<EmbeddedResource Include="Config\Identity\Cert\*.*" Exclude="bin\**;obj\**;**\*.xproj;packages\**;@(EmbeddedResource)" />
<Content Include="wwwroot\styles\static.css" />
<Content Update="appsettings.json;appsettings.Production.json;dockerfile;Views\**\*;web.config;wwwroot\**\*">
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</Content>

Loading…
Cancel
Save